Implements interfaces: twisted.internet.interfaces.IListeningPort

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

Method __init__
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 the given data as a single datagram.
Method writeSequence Write a datagram constructed from a list of bytes.
Method stopListening Stop accepting connections on this port.
Method loseConnection Close this tunnel. Use TuntapPort.stopListening instead.
Method connectionLost Cleans up my socket.
Method logPrefix Returns the name of my class, to prefix log entries with.
Method getHost Get the local address of this TuntapPort.
Method _openTunnel Open the named tunnel using the given mode.
Method _bindSocket Open the tunnel.

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 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 _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, system=None): (source)
ParametersreactorAn 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 __repr__(self): (source)
Undocumented
def startListening(self): (source)

Create and bind my socket, and begin listening on it.

This must be called after creating a server to begin listening on the specified tunnel.

def _openTunnel(self, name, mode): (source)

Open the named tunnel using the given mode.

ParametersnameThe name of the tunnel to open. (type: bytes)
modeFlags from TunnelFlags with exactly one of TunnelFlags.IFF_TUN or TunnelFlags.IFF_TAP set.
ReturnsA _TunnelDescription representing the newly opened tunnel.
def _bindSocket(self): (source)

Open the tunnel.

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 doRead(self): (source)

Called when my socket is ready for reading.

def write(self, datagram): (source)

Write the given data as a single datagram.

ParametersdatagramThe data that will make up the complete datagram to be written. (type: bytes)
def writeSequence(self, seq): (source)

Write a datagram constructed from a list of bytes.

ParametersdatagramThe data that will make up the complete datagram to be written.
def stopListening(self): (source)

Stop accepting connections on this port.

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

ReturnsA Deferred that fires when this port has stopped.
def connectionLost(self, reason=None): (source)

Cleans up my socket.

ParametersreasonIgnored. Do not use this.
def logPrefix(self): (source)

Returns the name of my class, to prefix log entries with.

def getHost(self): (source)

Get the local address of this TuntapPort.

ReturnsA TunnelAddress which describes the tunnel device to which this object is bound. (type: TunnelAddress)
API Documentation for Twisted, generated by pydoctor at 2017-09-23 19:45:03.