twisted.pair.testing.MemoryIOSystem(object) class documentationtwisted.pair.testing
View Source
(View In Hierarchy)
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 | |
| 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. | |