Struct dbs_utils::epoll_manager::Events
source · [−]pub struct Events { /* private fields */ }Expand description
Wrapper over an epoll::EpollEvent object.
When working directly with epoll related methods, the user associates an u64 wide
epoll_data_t object with every event. We want to use fds as identifiers, but at the same time
keep the ability to associate opaque data with an event. An Events object always contains an
fd and an u32 data member that can be supplied by the user. When registering events with the
inner epoll event set, the fd and data members of Events are used together to generate the
underlying u64 member of the epoll_data union.
Implementations
sourceimpl Events
impl Events
sourcepub fn empty<T>(source: &T) -> Events where
T: AsRawFd,
pub fn empty<T>(source: &T) -> Events where
T: AsRawFd,
Create an empty event set associated with source.
No explicit events are monitored for the associated file descriptor.
Nevertheless, EventSet::ERROR and
EventSet::HANG_UP are implicitly
monitored.
Arguments
- source: object that wraps a file descriptor to be associated with
events
Example
let eventfd = EventFd::new(0).unwrap();
let ev_set = Events::empty(&eventfd);sourcepub fn empty_raw(fd: i32) -> Events
pub fn empty_raw(fd: i32) -> Events
Create an empty event set associated with the supplied RawFd value.
No explicit events are monitored for the associated file descriptor.
Nevertheless, EventSet::ERROR and
EventSet::HANG_UP are implicitly
monitored.
Example
let eventfd = EventFd::new(0).unwrap();
let ev_set = Events::empty_raw(eventfd.as_raw_fd());sourcepub fn new<T>(source: &T, events: EventSet) -> Events where
T: AsRawFd,
pub fn new<T>(source: &T, events: EventSet) -> Events where
T: AsRawFd,
Create an event with source and the associated events for monitoring.
Arguments
- source: object that wraps a file descriptor to be associated with
events - events: events to monitor on the provided
source;EventSet::ERRORandEventSet::HANG_UPare always monitored and don’t need to be explicitly added to the list.
Example
let eventfd = EventFd::new(0).unwrap();
let event_set = EventSet::IN;
let ev_set = Events::new(&eventfd, event_set);sourcepub fn new_raw(source: i32, events: EventSet) -> Events
pub fn new_raw(source: i32, events: EventSet) -> Events
Create an event with the supplied RawFd value and events for monitoring.
Arguments
- source: file descriptor on which to monitor the
events - events: events to monitor on the provided
source;EventSet::ERRORandEventSet::HANG_UPare always monitored and don’t need to be explicitly added to the list.
Example
let eventfd = EventFd::new(0).unwrap();
let event_set = EventSet::IN;
let ev_set = Events::new_raw(eventfd.as_raw_fd(), event_set);sourcepub fn with_data<T>(source: &T, data: u32, events: EventSet) -> Events where
T: AsRawFd,
pub fn with_data<T>(source: &T, data: u32, events: EventSet) -> Events where
T: AsRawFd,
Create an event set associated with the underlying file descriptor of the source, active events, and data.
Arguments
- source: object that wraps a file descriptor to be associated with
events - data: custom user data associated with the file descriptor; the data can be used for uniquely identify monitored events instead of using the file descriptor.
- events: events to monitor on the provided
source;EventSet::ERRORandEventSet::HANG_UPare always monitored and don’t need to be explicitly added to the list.
Examples
let eventfd = EventFd::new(0).unwrap();
let event_set = EventSet::IN;
let custom_data = 42;
let ev_set = Events::with_data(&eventfd, custom_data, event_set);sourcepub fn with_data_raw(source: i32, data: u32, events: EventSet) -> Events
pub fn with_data_raw(source: i32, data: u32, events: EventSet) -> Events
Create an event set associated with the supplied RawFd value, active events, and data.
Arguments
- source: file descriptor to be associated with
events - data: custom user data associated with the file descriptor; the data can be used for uniquely identify monitored events instead of using the file descriptor.
- events: events to monitor on the provided
source;EventSet::ERRORandEventSet::HANG_UPare always monitored and don’t need to be explicitly added to the list.
Examples
let eventfd = EventFd::new(0).unwrap();
let event_set = EventSet::IN;
let custom_data = 42;
let ev_set = Events::with_data_raw(eventfd.as_raw_fd(), custom_data, event_set);sourcepub fn epoll_event(&self) -> EpollEvent
pub fn epoll_event(&self) -> EpollEvent
Return the inner EpollEvent.
Trait Implementations
impl Copy for Events
Auto Trait Implementations
impl RefUnwindSafe for Events
impl Send for Events
impl Sync for Events
impl Unpin for Events
impl UnwindSafe for Events
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more