struct Worker {
request_receiver: Receiver<WorkerRequest>,
response_sender: Sender<Result<WorkerResponse>>,
exit_evt_wrtube: SendTube,
gpu_control_tube: Tube,
resource_bridges: ResourceBridges,
suspend_evt: Event,
kill_evt: Event,
state: Frontend,
fence_state: Arc<Mutex<FenceState>>,
fence_handler_resources: Arc<Mutex<Option<FenceHandlerActivationResources<SharedQueueReader>>>>,
activation_resources: Option<GpuActivationResources>,
}
Fields§
§request_receiver: Receiver<WorkerRequest>
§response_sender: Sender<Result<WorkerResponse>>
§exit_evt_wrtube: SendTube
§gpu_control_tube: Tube
§resource_bridges: ResourceBridges
§suspend_evt: Event
§kill_evt: Event
§state: Frontend
§fence_state: Arc<Mutex<FenceState>>
§fence_handler_resources: Arc<Mutex<Option<FenceHandlerActivationResources<SharedQueueReader>>>>
§activation_resources: Option<GpuActivationResources>
Implementations§
source§impl Worker
impl Worker
fn new( rutabaga_builder: RutabagaBuilder, rutabaga_server_descriptor: Option<RutabagaDescriptor>, display_backends: Vec<DisplayBackend>, display_params: Vec<GpuDisplayParameters>, display_event: Arc<AtomicBool>, mapper: Arc<Mutex<Option<Box<dyn SharedMemoryMapper>>>>, event_devices: Vec<EventDevice>, external_blob: bool, fixed_blob_mapping: bool, udmabuf: bool, request_receiver: Receiver<WorkerRequest>, response_sender: Sender<Result<WorkerResponse>>, exit_evt_wrtube: SendTube, gpu_control_tube: Tube, resource_bridges: ResourceBridges, suspend_evt: Event, kill_evt: Event ) -> Result<Worker>
fn run(&mut self)
fn on_activate(&mut self, request: WorkerActivateRequest) -> Result<()>
fn on_suspend(&mut self) -> Result<GpuDeactivationResources>
fn on_snapshot(&mut self) -> Result<WorkerSnapshot>
fn on_restore(&mut self, snapshot: WorkerSnapshot) -> Result<()>
fn run_until_sleep_or_exit(&mut self) -> Result<WorkerStopReason>
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.