runtimepy.net.stream package#
Subpackages#
Submodules#
runtimepy.net.stream.base module#
A module implementing a base, stream-oriented connection interface.
- class runtimepy.net.stream.base.PrefixedMessageConnection(logger: Logger | LoggerAdapter[Any], env: ChannelEnvironment = None, add_metrics: bool = True)[source]#
Bases:
ConnectionA connection for handling inter-frame message size prefixes for some stream-oriented protocols.
- async process_binary(data: bytes, addr: tuple[str, int] = None) bool[source]#
Process an incoming message.
- async process_single(stream: BinaryIO, addr: tuple[str, int] = None) bool[source]#
Process a single message.
- processor: MessageProcessor#
runtimepy.net.stream.string module#
A module implementing a string-message stream interface.
- class runtimepy.net.stream.string.StringMessageConnection(logger: Logger | LoggerAdapter[Any], env: ChannelEnvironment = None, add_metrics: bool = True)[source]#
Bases:
PrefixedMessageConnectionA simple string-message sending and processing connection.
Module contents#
A module aggregating stream-oriented connection interfaces.
- class runtimepy.net.stream.EchoMessageConnection(logger: Logger | LoggerAdapter[Any], env: ChannelEnvironment = None, add_metrics: bool = True)[source]#
Bases:
PrefixedMessageConnectionA connection that just echoes what it was sent.
- class runtimepy.net.stream.EchoTcpMessageConnection(transport: Transport, protocol: QueueProtocol)[source]#
Bases:
TcpPrefixedMessageConnection,EchoMessageConnectionA connection that just echoes what it was sent.
- class runtimepy.net.stream.EchoUdpMessageConnection(transport: DatagramTransport, protocol: UdpQueueProtocol)[source]#
Bases:
UdpPrefixedMessageConnection,EchoMessageConnectionA connection that just echoes what it was sent.
- class runtimepy.net.stream.PrefixedMessageConnection(logger: Logger | LoggerAdapter[Any], env: ChannelEnvironment = None, add_metrics: bool = True)[source]#
Bases:
ConnectionA connection for handling inter-frame message size prefixes for some stream-oriented protocols.
- env: ChannelEnvironment#
- logger: LoggerType#
- async process_binary(data: bytes, addr: tuple[str, int] = None) bool[source]#
Process an incoming message.
- async process_single(stream: BinaryIO, addr: tuple[str, int] = None) bool[source]#
Process a single message.
- processor: MessageProcessor#
- send_message(data: bytes | bytearray | memoryview, addr: tuple[str, int] = None) None[source]#
Handle inter-message prefixes for outgoing messages.
- send_message_str(data: str, addr: tuple[str, int] = None) None[source]#
Convert a message to bytes before sending.
- tx_binary_hwm: int#
- tx_text_hwm: int#
- class runtimepy.net.stream.StringMessageConnection(logger: Logger | LoggerAdapter[Any], env: ChannelEnvironment = None, add_metrics: bool = True)[source]#
Bases:
PrefixedMessageConnectionA simple string-message sending and processing connection.
- class runtimepy.net.stream.TcpPrefixedMessageConnection(transport: Transport, protocol: QueueProtocol)[source]#
Bases:
PrefixedMessageConnection,TcpConnectionA TCP implementation for size-prefixed messages.
- class runtimepy.net.stream.TcpStringMessageConnection(transport: Transport, protocol: QueueProtocol)[source]#
Bases:
StringMessageConnection,TcpConnectionA simple string-message sending and processing connection using TCP.
- class runtimepy.net.stream.UdpPrefixedMessageConnection(transport: DatagramTransport, protocol: UdpQueueProtocol)[source]#
Bases:
PrefixedMessageConnection,UdpConnectionA UDP implementation for size-prefixed messages.
- class runtimepy.net.stream.UdpStringMessageConnection(transport: DatagramTransport, protocol: UdpQueueProtocol)[source]#
Bases:
StringMessageConnection,UdpPrefixedMessageConnectionA simple string-message sending and processing connection using UDP.