class 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.
Method | __init__ |
Undocumented |
Method | close |
Discard the in-memory buffer and other in-memory state for the given file descriptor. |
Method | get |
Get the Tunnel object associated with the given TuntapPort . |
Method | ioctl |
Perform some configuration change to the in-memory state for the given file descriptor. |
Method | open |
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 ... |
Method | read |
Try to read some bytes out of one of the in-memory buffers which may previously have been populated by write. |
Method | receive |
Get a socket-like object which can be used to receive a datagram sent from the given address. |
Method | register |
Specify a class which will be used to handle I/O to a device of a particular name. |
Method | send |
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 | write |
Try to add some bytes to one of the in-memory buffers to be accessed by a later read call. |
Constant | O |
No summary |
Constant | O |
No summary |
Constant | O |
No summary |
Instance Variable | permissions |
No summary |
Instance Variable | _counter |
No summary |
Instance Variable | _devices |
No summary |
Instance Variable | _open |
No summary |
Discard the in-memory buffer and other in-memory state for the given file descriptor.
See Also | |
os.close |
Get the Tunnel
object associated with the given TuntapPort
.
Parameters | |
port | A TuntapPort previously initialized using this MemoryIOSystem . |
Returns | |
Tunnel | The tunnel object created by a prior use of open on this object on the tunnel special device file. |
Perform some configuration change to the in-memory state for the given file descriptor.
See Also | |
fcntl.ioctl |
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:bytes | A string giving the name of the file to open. |
flags:int | The flags with which to open the file. |
mode:int | The mode with which to open the file. |
Returns | |
int | A file descriptor associated with the newly opened file description. |
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 |
Get a socket-like object which can be used to receive a datagram sent from the given address.
Parameters | |
fileno:int | A file descriptor representing a tunnel device which the datagram will be received via. |
host:bytes | The IPv4 address to which the datagram was sent. |
port:int | The UDP port number to which the datagram was sent. received. |
Returns | |
A socket.socket -like object which can be used to receive the specified datagram. |
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:bytes | A UDP datagram payload to send. |
address:tuple of (bytes , int ) | The destination to which to send the datagram. |
Returns | |
tuple of (bytes , int ) | A two-tuple giving the address from which gives the address from which the datagram was sent. |
Try to add some bytes to one of the in-memory buffers to be accessed by a later read call.
See Also | |
os.write |