The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
EpollInstance Class Referencefinal

#include <epoll-syscalls.h>

+ Inheritance diagram for EpollInstance:
+ Collaboration diagram for EpollInstance:

Public Member Functions

int control (int operation, int targetFd, const LinuxEpollEvent *event)
 
int wait (LinuxEpollEvent *events, int maxEvents, int timeoutMilliseconds)
 
ReadyMask queryReady ()
 
- Public Member Functions inherited from ReadinessSource
MUST_USE_RESULT bool subscribeReadiness (ReadyMask interest, const SharedPointer< ReadinessObserver > &observer, ReadinessSubscription &subscription)
 
virtual ReadinessGenerations readinessGenerations ()
 

Private Member Functions

 EpollInstance (const EpollInstance &)=delete
 
EpollInstanceoperator= (const EpollInstance &)=delete
 
int collectEvents (LinuxEpollEvent *events, int maxEvents, bool consumeOneShot)
 
void wakeWaiter ()
 
void sourceReadinessChanged (ReadyMask mask)
 

Private Attributes

EpollStatem_State
 

Friends

class EpollReadinessObserver
 

Additional Inherited Members

- Protected Member Functions inherited from ReadinessSource
void notifyReadiness (ReadyMask mask)
 
void closeReadiness (ReadyMask mask=ReadyInvalid|ReadyHangup)
 

Detailed Description

One open epoll object, shared by dup aliases of its descriptor.

Definition at line 55 of file epoll-syscalls.h.

Constructor & Destructor Documentation

◆ EpollInstance()

EpollInstance::EpollInstance ( )

Definition at line 306 of file epoll-syscalls.cc.

◆ ~EpollInstance()

EpollInstance::~EpollInstance ( )
override

Definition at line 308 of file epoll-syscalls.cc.

Member Function Documentation

◆ collectEvents()

int EpollInstance::collectEvents ( LinuxEpollEvent events,
int  maxEvents,
bool  consumeOneShot 
)
private

Definition at line 538 of file epoll-syscalls.cc.

◆ control()

int EpollInstance::control ( int  operation,
int  targetFd,
const LinuxEpollEvent event 
)

◆ queryReady()

ReadyMask EpollInstance::queryReady ( )

Exposes the epoll object's current level to poll/select infrastructure.

Definition at line 595 of file epoll-syscalls.cc.

◆ sourceReadinessChanged()

void EpollInstance::sourceReadinessChanged ( ReadyMask  mask)
private

Definition at line 335 of file epoll-syscalls.cc.

◆ wait()

int EpollInstance::wait ( LinuxEpollEvent events,
int  maxEvents,
int  timeoutMilliseconds 
)

events is kernel-owned storage and is never retained after this call.

Definition at line 599 of file epoll-syscalls.cc.

References Semaphore::acquireWithError(), EMIT_IF, and Semaphore::tryAcquire().

◆ wakeWaiter()

void EpollInstance::wakeWaiter ( )
private

Definition at line 327 of file epoll-syscalls.cc.

Friends And Related Symbol Documentation

◆ EpollReadinessObserver

friend class EpollReadinessObserver
friend

Definition at line 70 of file epoll-syscalls.h.

Member Data Documentation

◆ m_State

EpollState* EpollInstance::m_State
private

Definition at line 79 of file epoll-syscalls.h.


The documentation for this class was generated from the following files: