Struct devices::virtio::input::event_source::SocketEventSource
source · pub struct SocketEventSource<T> {
evt_source_impl: EventSourceImpl<T>,
}
Expand description
Encapsulates a (unix) socket as an event source.
Fields§
§evt_source_impl: EventSourceImpl<T>
Implementations§
source§impl<T> SocketEventSource<T>
impl<T> SocketEventSource<T>
pub fn new(source: T) -> SocketEventSource<T>
Trait Implementations§
source§impl<T: AsRawDescriptor> AsRawDescriptor for SocketEventSource<T>
impl<T: AsRawDescriptor> AsRawDescriptor for SocketEventSource<T>
source§fn as_raw_descriptor(&self) -> RawDescriptor
fn as_raw_descriptor(&self) -> RawDescriptor
Returns the underlying raw descriptor. Read more
source§impl<T> EventSource for SocketEventSource<T>
impl<T> EventSource for SocketEventSource<T>
source§fn init(&mut self) -> Result<()>
fn init(&mut self) -> Result<()>
Perform any necessary initialization before receiving and sending events from/to the source.
source§fn finalize(&mut self) -> Result<()>
fn finalize(&mut self) -> Result<()>
Perform any necessary cleanup when the device will no longer be used.
source§fn receive_events(&mut self) -> Result<usize>
fn receive_events(&mut self) -> Result<usize>
Receive events from the source, filters them and stores them in a queue for future
consumption by reading from this object. Returns the number of new non filtered events
received. This function may block waiting for events to be available.
source§fn available_events_count(&self) -> usize
fn available_events_count(&self) -> usize
Returns the number of received events that have not been filtered or consumed yet.
source§fn pop_available_event(&mut self) -> Option<virtio_input_event>
fn pop_available_event(&mut self) -> Option<virtio_input_event>
Returns the next available event
source§fn send_event(&mut self, vio_evt: &virtio_input_event) -> Result<()>
fn send_event(&mut self, vio_evt: &virtio_input_event) -> Result<()>
Sends a status update event to the source
Auto Trait Implementations§
impl<T> RefUnwindSafe for SocketEventSource<T>where
T: RefUnwindSafe,
impl<T> Send for SocketEventSource<T>where
T: Send,
impl<T> Sync for SocketEventSource<T>where
T: Sync,
impl<T> Unpin for SocketEventSource<T>where
T: Unpin,
impl<T> UnwindSafe for SocketEventSource<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
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.