pub struct WorkerHandle { /* private fields */ }Expand description
Worker process handle.
Wraps the IPC reader/writer as trait objects so both the Unix (File-backed)
and non-Unix (ChildStdin/ChildStdout-backed) paths share the same struct.
Trait objects are bounded by Send because the handle may be moved across
threads in the supervisor’s rayon thread pool.
Implementations§
Source§impl WorkerHandle
impl WorkerHandle
Sourcepub fn spawn(timeout: Duration) -> Result<Self, SupervisorError>
pub fn spawn(timeout: Duration) -> Result<Self, SupervisorError>
Spawn a new worker process.
Sourcepub fn spawn_binary(
binary: &str,
timeout: Duration,
) -> Result<Self, SupervisorError>
pub fn spawn_binary( binary: &str, timeout: Duration, ) -> Result<Self, SupervisorError>
Spawn a worker for a specific binary (for testing).
Sourcepub fn capabilities(&self) -> Option<&WorkerCapabilities>
pub fn capabilities(&self) -> Option<&WorkerCapabilities>
Get worker capabilities
Sourcepub fn run_benchmark(
&mut self,
bench_id: &str,
config: &BenchmarkConfig,
) -> Result<IpcBenchmarkResult, SupervisorError>
pub fn run_benchmark( &mut self, bench_id: &str, config: &BenchmarkConfig, ) -> Result<IpcBenchmarkResult, SupervisorError>
Run a benchmark on this worker
Sourcepub fn ping(&mut self) -> Result<bool, SupervisorError>
pub fn ping(&mut self) -> Result<bool, SupervisorError>
Ping the worker to check if it’s alive
Sourcepub fn abort(&mut self) -> Result<(), SupervisorError>
pub fn abort(&mut self) -> Result<(), SupervisorError>
Abort the current benchmark
Sourcepub fn shutdown(self) -> Result<(), SupervisorError>
pub fn shutdown(self) -> Result<(), SupervisorError>
Shutdown the worker gracefully
Sourcepub fn kill(&mut self) -> Result<(), SupervisorError>
pub fn kill(&mut self) -> Result<(), SupervisorError>
Kill the worker process forcefully
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WorkerHandle
impl !RefUnwindSafe for WorkerHandle
impl Send for WorkerHandle
impl !Sync for WorkerHandle
impl Unpin for WorkerHandle
impl !UnwindSafe for WorkerHandle
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.