pub trait Worker: Send {
// Required methods
fn start(&mut self) -> Result<()>;
fn abort(&mut self, kill: bool);
fn state(&self) -> WorkerState;
fn set_handler(&mut self, handler: Box<dyn EventHandler>);
fn read_fds(&self) -> Vec<RawFd> ⓘ;
fn write_fds(&self) -> Vec<RawFd> ⓘ;
fn handle_read(&mut self, fd: RawFd) -> Result<()>;
fn handle_write(&mut self, fd: RawFd) -> Result<()>;
fn is_done(&self) -> bool;
fn retcodes(&self) -> &HashMap<String, i32>;
fn num_nodes(&self) -> usize;
fn take_handler(&mut self) -> Option<Box<dyn EventHandler>>;
}Expand description
Trait for worker implementations.
A worker executes commands across multiple nodes, handling I/O events and managing child processes.
Required Methods§
Sourcefn state(&self) -> WorkerState
fn state(&self) -> WorkerState
Get the worker’s current state.
Sourcefn set_handler(&mut self, handler: Box<dyn EventHandler>)
fn set_handler(&mut self, handler: Box<dyn EventHandler>)
Set the event handler for this worker.
Sourcefn handle_read(&mut self, fd: RawFd) -> Result<()>
fn handle_read(&mut self, fd: RawFd) -> Result<()>
Handle a read event on the given file descriptor.
Sourcefn handle_write(&mut self, fd: RawFd) -> Result<()>
fn handle_write(&mut self, fd: RawFd) -> Result<()>
Handle a write event on the given file descriptor.
Sourcefn take_handler(&mut self) -> Option<Box<dyn EventHandler>>
fn take_handler(&mut self) -> Option<Box<dyn EventHandler>>
Take the event handler out of the worker (used by Task to extract gathered data).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".