pyrtma.manager.MessageManager
- class MessageManager(ip_address='', port=7111, timecode=False, debug=False, send_msg_timing=True)[source]
Bases:
object
MessageManager class
RTMA Message Manager server implemented in python.
MessageManager class
RTMA Message Manager server implemented in python.
- Parameters:
ip_address (str, optional) – server IP address. Defaults to “”.
timecode (bool, optional) – Flag to use message header with timecode values. Defaults to False.
debug (bool, optional) – Flag for debug mode. Defaults to False.
send_msg_timing (bool, optional) – Flag to send TIMING_MSG. Defaults to True.
port (int) –
Methods
Add message subscription
Assign module ID dynamically to connecting module
Close manager server
Connect module
Disconnect module
Forward a message from other modules
Pause message subscription
Process incoming message
Read an incoming message
Handle MODULE_READY message and register PID
Remove connected module
Remove message subscription
Resume message subscription
Start the message manager server
Send ACKNOWLEDGE signal header
Send FAILED_MESSAGE
Send TIMING_MESSAGE
Forward message to registered logger modules
Attributes
header
message
- assign_module_id()[source]
Assign module ID dynamically to connecting module
- Raises:
RuntimeError – Exceeded maximum number of allowed dynamic modules
- Returns:
module ID
- Return type:
- disconnect_module(src_module)[source]
Disconnect module
- Parameters:
src_module (Module) – Module object to disconnect
- forward_message(header, data, wlist)[source]
Forward a message from other modules
The given message will be forwarded to:
all subscribed logger modules (ALWAYS)
if the message has a destination address, and it is subscribed to by that destination it will be forwarded only there
if the message has no destination address, it will be forwarded to all subscribed modules
- Parameters:
header (MessageHeader) – Message Header
data (Union[bytes, MessageData]) – Message Data
wlist (List[socket.socket]) – sockets ready for writing
- process_message(src_module, wlist)[source]
Process incoming message
- Parameters:
src_module (Module) – Message source module
wlist (List[socket.socket]) – Sockets ready for writing
- read_message(sock)[source]
Read an incoming message
- Parameters:
sock (socket.socket) – socket to read from
- Returns:
Success code
- Return type:
- remove_module(module)[source]
Remove connected module
- Parameters:
module (Module) – Module object to remove
- send_ack(src_module, wlist)[source]
Send ACKNOWLEDGE signal header
- Parameters:
src_module (Module) – Module to send ACK to
wlist (List[socket.socket]) – Sockets ready for writing
- send_failed_message(dest_module, header, time_of_failure, wlist)[source]
Send FAILED_MESSAGE
- Parameters:
dest_module (Module) – Intended destination
header (MessageHeader) – Header of failed message
time_of_failure (float) – Time of send failure
wlist (List[socket.socket]) – Sockets ready for writing
- send_timing_message(wlist)[source]
Send TIMING_MESSAGE
- Parameters:
wlist (List[socket.socket]) – Sockets ready for writing
- send_to_loggers(header, payload, wlist)[source]
Forward message to registered logger modules
- Parameters:
header (MessageHeader) – Message header to send
payload (Union[bytes, MessageData]) – Message data to send
wlist (List[socket.socket]) – Sockets ready for writing