class twisted.pair.testing.MemoryIOSystem: (source)
Implements interfaces: twisted.pair.tuntap._IInputOutputSystem
An in-memory implementation of basic I/O primitives, useful in the context of unit testing as a drop-in replacement for parts of the os
module.
Instance Variable | permissions | |
Class Variable | O_RDWR | |
Class Variable | O_NONBLOCK | |
Class Variable | O_CLOEXEC | |
Method | __init__ | Undocumented |
Method | getTunnel | Get the Tunnel object associated with the given TuntapPort . |
Method | registerSpecialDevice | Specify a class which will be used to handle I/O to a device of a particular name. |
Method | open | No summary |
Method | read | Try to read some bytes out of one of the in-memory buffers which may previously have been populated by write . |
Method | write | Try to add some bytes to one of the in-memory buffers to be accessed by a later read call. |
Method | close | Discard the in-memory buffer and other in-memory state for the given file descriptor. |
Method | ioctl | Perform some configuration change to the in-memory state for the given file descriptor. |
Method | sendUDP | Write an ethernet frame containing an ip datagram containing a udp datagram containing the given payload, addressed to the given address, to a tunnel device previously opened on this I/O system. |
Method | receiveUDP | Get a socket-like object which can be used to receive a datagram sent from the given address. |
Instance Variable | _devices | |
Instance Variable | _openFiles | |
Instance Variable | _counter |
Get the Tunnel
object associated with the given TuntapPort
.
Parameters | port | A TuntapPort previously initialized using this MemoryIOSystem . |
Returns | The tunnel object created by a prior use of open on this object on the tunnel special device file. (type: Tunnel ) |
A replacement for os.open
. This initializes state in this MemoryIOSystem
which will be reflected in the behavior of the other file descriptor-related methods (eg MemoryIOSystem.read
, MemoryIOSystem.write
, etc).
Parameters | name | A string giving the name of the file to open. (type: bytes ) |
flags | The flags with which to open the file. (type: int ) | |
mode | The mode with which to open the file. (type: int ) | |
Returns | A file descriptor associated with the newly opened file description. (type: int ) | |
Raises | OSError | With ENOSYS if the file is not a recognized special device file. |
Try to read some bytes out of one of the in-memory buffers which may previously have been populated by write
.
See Also | os.read |
Try to add some bytes to one of the in-memory buffers to be accessed by a later read
call.
See Also | os.write |
Discard the in-memory buffer and other in-memory state for the given file descriptor.
See Also | os.close |
Perform some configuration change to the in-memory state for the given file descriptor.
See Also | fcntl.ioctl |
Write an ethernet frame containing an ip datagram containing a udp datagram containing the given payload, addressed to the given address, to a tunnel device previously opened on this I/O system.
Parameters | datagram | A UDP datagram payload to send. (type: bytes ) |
address | The destination to which to send the datagram. (type: tuple of (bytes , int )) | |
Returns | A two-tuple giving the address from which gives the address from which the datagram was sent. (type: tuple of (bytes , int )) |
Get a socket-like object which can be used to receive a datagram sent from the given address.
Parameters | fileno | A file descriptor representing a tunnel device which the datagram will be received via. (type: int ) |
host | The IPv4 address to which the datagram was sent. (type: bytes ) | |
port | The UDP port number to which the datagram was sent. received. (type: int ) | |
Returns | A socket.socket -like object which can be used to receive the specified datagram. |