The Pedigree Project 0.1
Public Member Functions | Private Attributes | List of all members
PosixMessageQueue Class Referencefinal
+ Inheritance diagram for PosixMessageQueue:
+ Collaboration diagram for PosixMessageQueue:

Public Member Functions

 PosixMessageQueue (const String &name, size_t maxMessages, size_t messageSize, int64_t uid, int64_t gid, unsigned mode)
 
int send (const char *data, size_t length, unsigned priority, bool nonblock, const LinuxMqTimespec *timeout)
 
int receive (char *data, size_t length, unsigned *priority, bool nonblock, const LinuxMqTimespec *timeout)
 
int attributes (FileDescriptor &descriptor, const LinuxMqAttr *requested, LinuxMqAttr *previous)
 
int notify (const LinuxMqSigevent *event)
 
void cancelNotification (size_t pid)
 
void clockChanged ()
 
bool mayOpen (Process *process, int flags) const
 
bool mayUnlink (Process *process) const
 
const Stringname () const
 
ReadyMask queryReady ()
 
ReadinessGenerations readinessGenerations () override
 
- Public Member Functions inherited from ReadinessSource
MUST_USE_RESULT bool subscribeReadiness (ReadyMask interest, const SharedPointer< ReadinessObserver > &observer, ReadinessSubscription &subscription)
 

Private Attributes

MqueueStatem_State
 

Additional Inherited Members

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

Detailed Description

Definition at line 28 of file mqueue-syscalls.h.

Constructor & Destructor Documentation

◆ PosixMessageQueue()

PosixMessageQueue::PosixMessageQueue ( const String name,
size_t  maxMessages,
size_t  messageSize,
int64_t  uid,
int64_t  gid,
unsigned  mode 
)

Definition at line 86 of file mqueue-state.cc.

◆ ~PosixMessageQueue()

PosixMessageQueue::~PosixMessageQueue ( )
override

Definition at line 90 of file mqueue-state.cc.

Member Function Documentation

◆ attributes()

int PosixMessageQueue::attributes ( FileDescriptor descriptor,
const LinuxMqAttr requested,
LinuxMqAttr previous 
)

Definition at line 231 of file mqueue-state.cc.

◆ cancelNotification()

void PosixMessageQueue::cancelNotification ( size_t  pid)

Definition at line 350 of file mqueue-state.cc.

◆ clockChanged()

void PosixMessageQueue::clockChanged ( )

Definition at line 357 of file mqueue-state.cc.

◆ mayOpen()

bool PosixMessageQueue::mayOpen ( Process process,
int  flags 
) const

Definition at line 109 of file mqueue-state.cc.

◆ mayUnlink()

bool PosixMessageQueue::mayUnlink ( Process process) const

Definition at line 129 of file mqueue-state.cc.

◆ name()

const String & PosixMessageQueue::name ( ) const

Definition at line 105 of file mqueue-state.cc.

◆ notify()

int PosixMessageQueue::notify ( const LinuxMqSigevent event)

Definition at line 298 of file mqueue-state.cc.

◆ queryReady()

ReadyMask PosixMessageQueue::queryReady ( )

Definition at line 265 of file mqueue-state.cc.

◆ readinessGenerations()

ReadinessGenerations PosixMessageQueue::readinessGenerations ( )
overridevirtual

Return source-serialized rising-edge sequences where available.

A source increments the corresponding sequence while holding the same lock which changes its readiness predicate. Consumers can then recover a drain/refill transition even if the two callback deliveries are reordered.

Reimplemented from ReadinessSource.

Definition at line 271 of file mqueue-state.cc.

◆ receive()

int PosixMessageQueue::receive ( char *  data,
size_t  length,
unsigned *  priority,
bool  nonblock,
const LinuxMqTimespec timeout 
)

Definition at line 187 of file mqueue-state.cc.

◆ send()

int PosixMessageQueue::send ( const char *  data,
size_t  length,
unsigned  priority,
bool  nonblock,
const LinuxMqTimespec timeout 
)

Definition at line 134 of file mqueue-state.cc.

Member Data Documentation

◆ m_State

MqueueState* PosixMessageQueue::m_State
private

Definition at line 49 of file mqueue-syscalls.h.


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