Skip to content

SocketReader

SocketReader

Reads lines from a connection.

is_reading property

is_reading: bool

Return whether the reader is currently reading from the connection.

__init__

__init__(connection: ReadableConnection)

Parameters:

Name Type Description Default
connection ReadableConnection

The connection to read lines from.

required

start async

start() -> None

Start reading data from the connection.

Data is read one line at a time. If a SocketReaderDelegate is set, the on_message method is called for every line read.

To stop reading, await the stop coroutine.

Raises:

Type Description
ReaderAlreadyStartedError

Raised when the reader has already started reading.

ConnectionClosedError

Raised when the connection has closed.

stop async

stop() -> None

Stop reading data from the connection.

Sets the internal reading asyncio.Task as cancelled, and awaits it until completed. Does nothing if not currently reading.

set_delegate

set_delegate(delegate: SocketReaderDelegate) -> None

Store a weak reference to the delegate.

Parameters:

Name Type Description Default
delegate SocketReaderDelegate

The delegate to store.

required

SocketReaderDelegate

Bases: Protocol

The delegate of the socket reader.

on_message abstractmethod

on_message(message: str) -> None

Callback called when the SocketReader has read a line.

Parameters:

Name Type Description Default
message str

The read line.

required

ReaderAlreadyStartedError

Raised when attempting to start an already started SocketReader.