twisted.internet.inotify.INotify(FileDescriptor, object)
class documentationtwisted.internet.inotify
View Source
(View In Hierarchy)
The INotify file descriptor, it basically does everything related to INotify, from reading to notifying watch points.
Method | __init__ | |
Method | connectionLost | Release the inotify file descriptor and do the necessary cleanup |
Method | fileno | Get the underlying file descriptor from this inotify observer. Required
by abstract.FileDescriptor
subclasses. |
Method | doRead | Read some data from the observed file descriptors |
Method | watch | Watch the 'mask' events in given path. Can raise
INotifyError when there's a problem while adding a
directory. |
Method | ignore | Remove the watch point monitoring the given path |
Instance Variable | _buffer | a bytes
containing the data read from the inotify fd. |
Instance Variable | _watchpoints | a dict
that maps from inotify watch ids to watchpoints objects |
Instance Variable | _watchpaths | a dict
that maps from watched paths to the inotify watch ids |
Method | _addWatch | Private helper that abstracts the use of ctypes. |
Method | _rmWatch | Private helper that abstracts the use of ctypes. |
Method | _doRead | Work on the data just read from the file descriptor. |
Method | _addChildren | This is a very private method, please don't even think about using it. |
Method | _isWatched | Helper function that checks if the path is already monitored and returns its watchdescriptor if so or None otherwise. |
Inherited from FileDescriptor:
Method | writeSomeData | Write as much as possible of the given data, immediately. |
Method | doWrite | Called when data can be written. |
Method | writeConnectionLost | Indicates write connection was lost. |
Method | readConnectionLost | Indicates read connection was lost. |
Method | write | Reliably write some data. |
Method | writeSequence | Reliably write a sequence of data. |
Method | loseConnection | Close the connection at the next available opportunity. |
Method | loseWriteConnection | Undocumented |
Method | stopReading | Stop waiting for read availability. |
Method | stopWriting | Stop waiting for write availability. |
Method | startReading | Start waiting for read availability. |
Method | startWriting | Start waiting for write availability. |
Method | stopConsuming | Stop consuming data. |
Method | resumeProducing | Resume producing data. |
Method | pauseProducing | Pause producing data. |
Method | stopProducing | Stop producing data. |
Method | _postLoseConnection | Called after a loseConnection(), when all data has been written. |
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. |
Inherited from _ConsumerMixin (via FileDescriptor):
Instance Variable | producer | None
if no producer is registered, otherwise the registered producer. |
Instance Variable | producerPaused | A flag indicating whether the producer is currently paused. (type: bool ) |
Instance Variable | streamingProducer 0 | A flag indicating whether the producer was registered as a streaming (ie
push) producer or not (ie a pull producer). This will determine whether
the consumer may ever need to pause and resume it, or if it can merely call
resumeProducing on it when buffer space is available. |
Instance Variable | streamingProducer | bool or int |
Method | registerProducer | Register to receive data from a producer. |
Method | unregisterProducer | Stop consuming data from a producer, without disconnecting. |
Inherited from _LogOwner (via FileDescriptor):
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. |
Parameters | reactor | An 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. |
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.
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.
Release the inotify file descriptor and do the necessary cleanup
Get the underlying file descriptor from this inotify observer. Required
by abstract.FileDescriptor
subclasses.
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.
Watch the 'mask' events in given path. Can raise
INotifyError
when there's a problem while adding a
directory.
Parameters | path | The path needing monitoring (type: FilePath ) |
mask | The events that should be watched (type: int ) | |
autoAdd | if True automatically add newly created subdirectories (type: bool ) | |
callbacks | A list of callbacks that should be called when an event happens in the
given path. The callback should accept 3 arguments: (ignored, filepath,
mask) (type: list
of callables) | |
recursive | Also add all the subdirectories in this path (type: bool ) |