class documentation

class Tunnel: (source)

View In Hierarchy

An in-memory implementation of a tun or tap device.
Method __init__
Method addToReadBuffer Deliver a datagram to this tunnel's read buffer. This makes it available to be read later using the read method.
Method read Read a datagram out of this tunnel.
Method write Write a datagram into this tunnel.
Class Variable EAGAIN_STYLE Undocumented
Class Variable EINTR_STYLE Undocumented
Class Variable EWOULDBLOCK_STYLE Undocumented
Class Variable SEND_BUFFER_SIZE Undocumented
Instance Variable name Undocumented
Instance Variable openFlags Undocumented
Instance Variable pendingSignals Undocumented
Instance Variable readBuffer Undocumented
Instance Variable requestedName Undocumented
Instance Variable system Undocumented
Instance Variable tunnelMode Undocumented
Instance Variable writeBuffer Undocumented
Property blocking If the file descriptor for this tunnel is open in blocking mode, True. False otherwise.
Property closeOnExec If the file descriptor for this tunnel is marked as close-on-exec, True. False otherwise.
Class Variable _DEVICE_NAME A string representing the conventional filesystem entry for the tunnel factory character special device.
def __init__(self, system, openFlags, fileMode): (source)
Parameters
systemAn _IInputOutputSystem provider to use to perform I/O.
openFlags:intAny flags to apply when opening the tunnel device. See os.O_*.
fileModeignored
def addToReadBuffer(self, datagram): (source)
Deliver a datagram to this tunnel's read buffer. This makes it available to be read later using the read method.
Parameters
datagram:bytesThe IPv4 datagram to deliver. If the mode of this tunnel is TAP then ethernet framing will be added automatically.
def read(self, limit): (source)
Read a datagram out of this tunnel.
Parameters
limit:intThe maximum number of bytes from the datagram to return. If the next datagram is larger than this, extra bytes are dropped and lost forever.
Returns
bytesThe datagram which was read from the tunnel. If the tunnel mode does not include TunnelFlags.IFF_NO_PI then the datagram is prefixed with a 4 byte PI header.
Raises
OSErrorAny of the usual I/O problems can result in this exception being raised with some particular error number set.
IOErrorAny of the usual I/O problems can result in this exception being raised with some particular error number set.
def write(self, datagram): (source)
Write a datagram into this tunnel.
Parameters
datagram:bytesThe datagram to write.
Returns
intThe number of bytes of the datagram which were written.
Raises
IOErrorAny of the usual I/O problems can result in this exception being raised with some particular error number set.
EAGAIN_STYLE = (source)

Undocumented

EINTR_STYLE = (source)

Undocumented

EWOULDBLOCK_STYLE = (source)

Undocumented

SEND_BUFFER_SIZE: int = (source)

Undocumented

name = (source)

Undocumented

openFlags = (source)

Undocumented

pendingSignals = (source)

Undocumented

readBuffer = (source)

Undocumented

requestedName = (source)

Undocumented

system = (source)

Undocumented

tunnelMode = (source)

Undocumented

writeBuffer = (source)

Undocumented

@property
blocking = (source)
If the file descriptor for this tunnel is open in blocking mode, True. False otherwise.
@property
closeOnExec = (source)
If the file descriptor for this tunnel is marked as close-on-exec, True. False otherwise.
_DEVICE_NAME: bytes = (source)
A string representing the conventional filesystem entry for the tunnel factory character special device.