t.p.t.TuntapPort(base.BasePort) : class documentation

Part of twisted.pair.tuntap View Source View In Hierarchy

A Port that reads and writes packets from/to a TUN/TAP-device.

TODO: Share general start/stop etc implementation details with twisted.internet.udp.Port.

Method __init__ Undocumented
Method __repr__ Undocumented
Method startListening Create and bind my socket, and begin listening on it.
Method fileno File Descriptor number for select().
Method doRead Called when my socket is ready for reading.
Method write Write a datagram.
Method writeSequence Reliably write a sequence of data.
Method loseConnection Stop accepting connections on this port.
Method connectionLost Cleans up my socket.
Method setLogStr Undocumented
Method logPrefix Returns the name of my class, to prefix log entries with.
Method getHost Returns a tuple of ('TUNTAP', interface), indicating the servers address
Method _bindSocket Undocumented
Method _connectToProtocol Undocumented

Inherited from BasePort:

Method createInternetSocket Undocumented
Method doWrite Raises a RuntimeError

Inherited from FileDescriptor (via BasePort):

Method writeSomeData Write as much as possible of the given data, immediately.
Method writeConnectionLost Indicates write connection was lost.
Method readConnectionLost Indicates read connection was lost.
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 Undocumented
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 BasePort, 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 or int)
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 BasePort, FileDescriptor):

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, interface, proto, maxPacketSize=8192, reactor=None): (source)
Undocumented
def __repr__(self): (source)
Undocumented
def startListening(self): (source)
Create and bind my socket, and begin listening on it.

This is called on unserialization, and must be called after creating a server to begin listening on the specified port.

def _bindSocket(self): (source)
Undocumented
def fileno(self): (source)
File Descriptor number for select().

This method must be overridden or assigned in subclasses to indicate a valid file descriptor for the operating system.

def _connectToProtocol(self): (source)
Undocumented
def doRead(self): (source)
Called when my socket is ready for reading.
def write(self, datagram): (source)
Write a datagram.
def writeSequence(self, seq): (source)
Reliably write a sequence of data.

Currently, this is a convenience method roughly equivalent to:

   for chunk in iovec:
       fd.write(chunk)

It may have a more efficient implementation at a later time or in a different reactor.

As with the write() method, if a buffer size limit is reached and a streaming producer is registered, it will be paused until the buffered data is written to the underlying file descriptor.

def loseConnection(self): (source)
Stop accepting connections on this port.

This will shut down my socket and call self.connectionLost().

def connectionLost(self, reason=None): (source)
Cleans up my socket.
def setLogStr(self): (source)
Undocumented
def logPrefix(self): (source)
Returns the name of my class, to prefix log entries with.
def getHost(self): (source)
Returns a tuple of ('TUNTAP', interface), indicating the servers address
API Documentation for Twisted, generated by pydoctor at 2012-06-04 17:20:01.