dragon.mpbridge.reduction
Dragon’s replacements for Multiprocessings ‘reduction’ module.
To prevent users from sharing file descriptors between child processes, we always raise an exception.
See the documentation ‘Multiprocessing with Dragon’.
- raises NotImplementedError:
Always raise this.
Functions
|
Duplicates a file descriptor for a child process in Multiprocessing. |
|
Receive a list of file descriptors from another process via a socket. |
|
Send an array of file descriptors to another process via a socket. |
- dragon_DupFd(fd: int) int
Duplicates a file descriptor for a child process in Multiprocessing.
Dragon does not support sharing file descriptors as it does not generalize to multi-node or federated systems.
See the documentation ‘Multiprocessing with Dragon’.
- Parameters:
fd (int) – the file descriptor of the parent process to be duplicated
- Returns:
the duplicated file descriptor
- Return type:
- Raises:
NotImplementedError – Always raises an exception.
- dragon_sendfds(sock: socket, fds: array) None
Send an array of file descriptors to another process via a socket.
Dragon does not support this behaviour as it does not generalize to multi-node or federated systems.
See the documentation ‘Multiprocessing with Dragon’.
- Parameters:
sock (socket.socket) – the socket to be used for sending
fds (array.array) – the array of file descriptors
- Raises:
NotImplementedError – Always raises an exception.
- dragon_recvfds(sock: socket, size: int) list
Receive a list of file descriptors from another process via a socket.
Dragon does not support this behaviour as it does not generalize to multi-node or federated systems.
See the documentation ‘Multiprocessing with Dragon’.
- Parameters:
sock (socket.socket) – the socket to be used for sending
size (int) – the number of file descriptor to receive.
- Raises:
NotImplementedError – Always raises an exception.
- Returns:
the file descriptors
- Return type: