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

#include <inotify-syscalls.h>

+ Inheritance diagram for InotifyInstance:
+ Collaboration diagram for InotifyInstance:

Public Member Functions

int addWatch (File *target, uint32_t mask)
 
int removeWatch (int wd)
 
int readEvents (uint8_t *buffer, size_t length, bool canBlock)
 
int readEventsToUser (uint8_t *buffer, size_t length, bool canBlock)
 
ReadyMask queryReady ()
 
ReadinessGenerations readinessGenerations () override
 
void eventsQueued ()
 
void lastDescriptorClosed ()
 
- Public Member Functions inherited from ReadinessSource
MUST_USE_RESULT bool subscribeReadiness (ReadyMask interest, const SharedPointer< ReadinessObserver > &observer, ReadinessSubscription &subscription)
 

Private Member Functions

 InotifyInstance (const InotifyInstance &)=delete
 
InotifyInstanceoperator= (const InotifyInstance &)=delete
 
void reapInactiveWatches ()
 

Private Attributes

InotifyStatem_State
 

Additional Inherited Members

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

Detailed Description

One Linux inotify object, shared by aliases of an open file description.

Definition at line 61 of file inotify-syscalls.h.

Constructor & Destructor Documentation

◆ InotifyInstance()

InotifyInstance::InotifyInstance ( )

Definition at line 356 of file inotify-syscalls.cc.

◆ ~InotifyInstance()

InotifyInstance::~InotifyInstance ( )
override

Definition at line 358 of file inotify-syscalls.cc.

Member Function Documentation

◆ addWatch()

int InotifyInstance::addWatch ( File target,
uint32_t  mask 
)

Definition at line 383 of file inotify-syscalls.cc.

◆ eventsQueued()

void InotifyInstance::eventsQueued ( )

Internal queue-to-source readiness bridge.

Definition at line 554 of file inotify-syscalls.cc.

References ReadinessSource::notifyReadiness().

◆ lastDescriptorClosed()

void InotifyInstance::lastDescriptorClosed ( )

Definition at line 558 of file inotify-syscalls.cc.

◆ queryReady()

ReadyMask InotifyInstance::queryReady ( )

Definition at line 546 of file inotify-syscalls.cc.

◆ readEvents()

int InotifyInstance::readEvents ( uint8_t *  buffer,
size_t  length,
bool  canBlock 
)

Definition at line 482 of file inotify-syscalls.cc.

◆ readEventsToUser()

int InotifyInstance::readEventsToUser ( uint8_t *  buffer,
size_t  length,
bool  canBlock 
)

Definition at line 506 of file inotify-syscalls.cc.

◆ readinessGenerations()

ReadinessGenerations InotifyInstance::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 550 of file inotify-syscalls.cc.

◆ reapInactiveWatches()

void InotifyInstance::reapInactiveWatches ( )
private

Definition at line 364 of file inotify-syscalls.cc.

◆ removeWatch()

int InotifyInstance::removeWatch ( int  wd)

Definition at line 447 of file inotify-syscalls.cc.

Member Data Documentation

◆ m_State

InotifyState* InotifyInstance::m_State
private

Definition at line 84 of file inotify-syscalls.h.


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