networking

client

class RequestClient(name: str, sockets: Sockets | None = None)

Bases: object

close()
static raise_on_invalid_message(message, valid_messages: Type[Message] | Tuple[Type[Message], ...] | None = None)
request(address, msg, *, valid_responses: Type[Message] | Tuple[Type[Message], ...] | None = None)
sockets: Sockets
class Sockets(socket_factory: SocketFactory = <function get_message_socket>)

Bases: object

close(linger=-1)
get(name: str, address: str)

stream

class BaseSocket(socket: 'zmq.Socket')

Bases: Generic[T]

recv() T
send(payload: T)
socket: Socket
class BaseStream

Bases: Generic[T]

handler = None
run()
send(payload: T)
set_handler(handler: Callable[[T], None]) None
class MessageDealerSocket(socket: Socket)

Bases: MessageSocket[Message]

class MessageReqSocket(socket: Socket)

Bases: MessageSocket[Message]

class MessageRouterSocket(socket: Socket)

Bases: MessageSocket[Tuple[str, Message]]

make_send(identifier: str)

create a send function that a can be used to send a message to a specific client connected to the ZMQ Router

class MessageSocket(socket: Socket)

Bases: BaseSocket[T]

bind(addr: str)
close(linger: int = -1)
connect(addr: str)
static parse_bytes(payload)
recv() T
send(payload: T)

serialize identifier and message into MultipartMessage

class SocketFactory(*args, **kwargs)

Bases: Protocol

class Stream(socket: BaseSocket[T], logger: Logger = None)

Bases: BaseStream[T]

recv() T
run()
send(payload: T)
set_handler(handler: Callable[[T], None]) None
get_message_socket(socket_type: int, ident: bytes | None = None) MessageSocket