class documentation

The INotify file descriptor, it basically does everything related to INotify, from reading to notifying watch points.

Method __init__ No summary
Method connectionLost Release the inotify file descriptor and do the necessary cleanup
Method doRead Read some data from the observed file descriptors
Method fileno Get the underlying file descriptor from this inotify observer. Required by abstract.FileDescriptor subclasses.
Method ignore Remove the watch point monitoring the given path
Method watch Watch the 'mask' events in given path. Can raise INotifyError when there's a problem while adding a directory.
Instance Variable connected Undocumented
Method _addChildren This is a very private method, please don't even think about using it.
Method _addWatch Private helper that abstracts the use of ctypes.
Method _doRead Work on the data just read from the file descriptor.
Method _isWatched Helper function that checks if the path is already monitored and returns its watchdescriptor if so or None otherwise.
Method _rmWatch Private helper that abstracts the use of ctypes.
Instance Variable _buffer a bytes containing the data read from the inotify fd.
Instance Variable _fd Undocumented
Instance Variable _watchpaths a dict that maps from watched paths to the inotify watch ids
Instance Variable _watchpoints a dict that maps from inotify watch ids to watchpoints objects
Instance Variable _writeDisconnected Undocumented

Inherited from FileDescriptor:

Method doWrite Called when data can be written.
Method getHost Similar to getPeer, but returns an address describing this side of the connection.
Method getPeer Get the remote address of this connection.
Method loseConnection Close the connection at the next available opportunity.
Method loseWriteConnection Undocumented
Method pauseProducing Pause producing data.
Method readConnectionLost Indicates read connection was lost.
Method resumeProducing Resume producing data.
Method startReading Start waiting for read availability.
Method startWriting Start waiting for write availability.
Method stopConsuming Stop consuming data.
Method stopProducing Stop producing data.
Method stopReading Stop waiting for read availability.
Method stopWriting Stop waiting for write availability.
Method write Reliably write some data.
Method writeConnectionLost Indicates write connection was lost.
Method writeSequence Reliably write a sequence of data.
Method writeSomeData Write as much as possible of the given data, immediately.
Constant SEND_LIMIT Undocumented
Class Variable bufferSize Undocumented
Class Variable disconnecting Undocumented
Instance Variable dataBuffer Undocumented
Instance Variable disconnected Undocumented
Instance Variable offset Undocumented
Instance Variable producer Undocumented
Instance Variable producerPaused Undocumented
Instance Variable reactor Undocumented
Method _closeWriteConnection Undocumented
Method _isSendBufferFull Determine whether the user-space send buffer for this transport is full or not.
Method _maybePauseProducer Possibly pause a producer, if there is one and the send buffer is full.
Method _postLoseConnection Called after a loseConnection(), when all data has been written.
Instance Variable _tempDataBuffer Undocumented
Instance Variable _tempDataLen Undocumented
Instance Variable _writeDisconnecting Undocumented

Inherited from _ConsumerMixin (via FileDescriptor):

Method registerProducer Register to receive data from a producer.
Method unregisterProducer Stop consuming data from a producer, without disconnecting.
Instance Variable streamingProducer bool or int

Inherited from _LogOwner (via FileDescriptor, _ConsumerMixin):

Method logPrefix Override this method to insert custom logging behavior. Its return value will be inserted in front of every line. It may be called more times than the number of output lines.
Method _getLogPrefix Determine the log prefix to use for messages related to applicationObject, which may or may not be an interfaces.ILoggingContext provider.
def __init__(self, reactor=None): (source)
Parameters
reactorAn IReactorFDSet provider which this descriptor will use to get readable and writeable event notifications. If no value is given, the global reactor will be used.
def connectionLost(self, reason): (source)

Release the inotify file descriptor and do the necessary cleanup

def doRead(self): (source)

Read some data from the observed file descriptors

def fileno(self): (source)

Get the underlying file descriptor from this inotify observer. Required by abstract.FileDescriptor subclasses.

def ignore(self, path): (source)

Remove the watch point monitoring the given path

Parameters
path:FilePathThe path that should be ignored
def watch(self, path, mask=IN_WATCH_MASK, autoAdd=False, callbacks=None, recursive=False): (source)

Watch the 'mask' events in given path. Can raise INotifyError when there's a problem while adding a directory.

Parameters
path:FilePathThe path needing monitoring
mask:intThe events that should be watched
autoAdd:boolif True automatically add newly created subdirectories
callbacks:list of callablesA list of callbacks that should be called when an event happens in the given path. The callback should accept 3 arguments: (ignored, filepath, mask)
recursive:boolAlso add all the subdirectories in this path
def _addChildren(self, iwp): (source)

This is a very private method, please don't even think about using it.

Note that this is a fricking hack... it's because we cannot be fast enough in adding a watch to a directory and so we basically end up getting here too late if some operations have already been going on in the subdir, we basically need to catchup. This eventually ends up meaning that we generate double events, your app must be resistant.

def _addWatch(self, path, mask, autoAdd, callbacks): (source)

Private helper that abstracts the use of ctypes.

Calls the internal inotify API and checks for any errors after the call. If there's an error INotify._addWatch can raise an INotifyError. If there's no error it proceeds creating a watchpoint and adding a watchpath for inverse lookup of the file descriptor from the path.

def _doRead(self, in_): (source)

Work on the data just read from the file descriptor.

def _isWatched(self, path): (source)

Helper function that checks if the path is already monitored and returns its watchdescriptor if so or None otherwise.

Parameters
path:FilePathThe path that should be checked
def _rmWatch(self, wd): (source)

Private helper that abstracts the use of ctypes.

Calls the internal inotify API to remove an fd from inotify then removes the corresponding watchpoint from the internal mapping together with the file descriptor from the watchpath.

a bytes containing the data read from the inotify fd.

Undocumented

_watchpaths: dict = (source)

a dict that maps from watched paths to the inotify watch ids

_watchpoints: dict = (source)

a dict that maps from inotify watch ids to watchpoints objects