pub struct Worker {
wait_ctx: WaitContext<Token>,
interrupt: Interrupt,
queues: BTreeMap<usize, Queue>,
ports: Vec<WorkerPort>,
pending_receive_control_msgs: VecDeque<ControlMsgBytes>,
worker_receiver: Receiver<WorkerRequest>,
worker_event: Event,
}
Fields§
§wait_ctx: WaitContext<Token>
§interrupt: Interrupt
§queues: BTreeMap<usize, Queue>
§ports: Vec<WorkerPort>
§pending_receive_control_msgs: VecDeque<ControlMsgBytes>
§worker_receiver: Receiver<WorkerRequest>
§worker_event: Event
Implementations§
source§impl Worker
impl Worker
pub fn new( interrupt: Interrupt, ports: Vec<WorkerPort>, worker_receiver: Receiver<WorkerRequest>, worker_event: Event ) -> Result<Self>
pub fn run(&mut self, kill_evt: &Event) -> Result<()>
fn run_loop(&mut self) -> Result<()>
fn process_worker_requests(&mut self)
fn start_queue(&mut self, idx: usize, queue: Queue) -> Result<()>
fn stop_queue(&mut self, idx: usize) -> Option<Queue>
Auto Trait Implementations§
impl !RefUnwindSafe for Worker
impl Send for Worker
impl !Sync for Worker
impl Unpin for Worker
impl !UnwindSafe for Worker
Blanket Implementations§
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.