Messages¶
This page describes how we parse all received data from the StreamReader
that lies under the Controller. These messages are then parsed either as a
Reply or as an Event depending on whether BaseMessage.is_event
is False or not (which means that BaseMessage.status equals 650).
Note that a Message can contain multiple sub-messages, each with their own
status and header content. Additionally a sub-message can also contain a body.
Main class¶
- class aiostem.utils.message.Message[source]¶
Bases:
BaseMessageUtility class used to parse any received message.
-
items:
Sequence[MessageLine|MessageData]¶ List of sub-messages received within this message.
-
items:
Message items¶
- class aiostem.utils.message.MessageLine[source]¶
Bases:
BaseMessageA sub-message with only a single line.
Base class¶
- class aiostem.utils.message.BaseMessage[source]¶
Bases:
ABCBase class for any kind of message items.
A received message (like a reply) can contain sub-messages that also inherit from this base class.
- property is_event: bool¶
Tell whether this message is an event.
This property is a simple helper to tell whether our status equals to 650.
Helpers¶
- async aiostem.utils.message.messages_from_stream(stream: StreamReader) AsyncIterator[Message][source]¶
Parse messages from the underlying stream.
- Parameters:
stream (
StreamReader) – The asyncio stream reader to read messages from.- Raises:
ProtocolError – When we receive a malformed message.
- Yields:
Messages as they are parsed.
- Return type: