pyrtma.manager.MessageManager
- class MessageManager(ip_address='', port=7111, timecode=False, log_level=20, debug=False, send_msg_timing=True, send_active_clients=True)[source]
Bases:
ClientLikeMessageManager class
RTMA Message Manager server implemented in python.
MessageManager class
RTMA Message Manager server implemented in python.
- Parameters:
ip_address (
str) – server IP address. Defaults to “”.port (
int) – server port. Defaults to 7111.timecode (bool, optional) – Flag to use message header with timecode values. Defaults to False.
log_level (int, optional) – logging level, defaults to logging.INFO.
debug (bool, optional) – Flag for debug mode. Defaults to False.
send_msg_timing (bool, optional) – Flag to send TIMING_MSG. Defaults to True.
send_active_clients (bool, optional) – Flag to send ACTIVE_CLIENTS. Defaults to True.
Methods
Add message subscription
Assign module ID dynamically to connecting module
Close manager server
Connect module
decode_core_messagedecode_headerDisconnect module
Forward a message from other modules
generate_uidPause message subscription
Process incoming core message
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 ACTIVE_CLIENTS
Send CLIENT_CLOSED
Send CLIENT_INFO
Send FAILED_MESSAGE
Send a message originating from MessageManager module
Send TIMING_MESSAGE
Forward message to registered logger modules
Set a module name
Attributes
INFO_INTERVALconnectedlogger- 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(src_module, header, data)[source]
Forward a message from other modules
The given message will be forwarded to:
all subscribed logger modules
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 or those subscribed to ALL_MESSAGE_TYPES
- Parameters:
src_module (
Module) – Module where message originated fromheader (
MessageHeader) – Message Headerdata (
bytes|MessageData) – Message Data
- process_core_message(src_module, header)[source]
Process incoming core message
- Parameters:
src_module (
Module) – Message source moduleheader (
MessageHeader) – Message header of the incoming message
- process_message(src_module, header)[source]
Process incoming message
- Parameters:
src_module (
Module) – Message source moduleheader (
MessageHeader) – Message header of the incoming message
- read_message(sock)[source]
Read an incoming message
- Parameters:
sock (
socket) – socket to read from- Returns:
message header of incoming message
- Return type:
- remove_module(module)[source]
Remove connected module
- Parameters:
module (
Module) – Module object to remove
- send_ack(src_module)[source]
Send ACKNOWLEDGE signal header
- Parameters:
src_module (
Module) – Module to send ACK to
- send_client_close(module)[source]
Send CLIENT_CLOSED
- Parameters:
module (
Module) – Closed module object
- send_client_info(module)[source]
Send CLIENT_INFO
- Parameters:
module (
Module) – Module object to send info for
- send_failed_message(dest_module, header, time_of_failure)[source]
Send FAILED_MESSAGE
- Parameters:
dest_module (
Module) – Intended destinationheader (
MessageHeader) – Header of failed messagetime_of_failure (
float) – Time of send failure
- send_message(msg_data, dest_mod_id=0, dest_host_id=0, timeout=0)[source]
Send a message originating from MessageManager module
- Parameters:
msg_data (
MessageData) – Object containing the message to senddest_mod_id (
int) – Specific module ID to send to. Defaults to 0 (broadcast).dest_host_id (
int) – Specific host ID to send to. Defaults to 0 (broadcast).timeout (
float) – Reserved. Defaults to 0.
- send_to_loggers(header, payload)[source]
Forward message to registered logger modules
- Parameters:
header (
MessageHeader) – Message header to sendpayload (
bytes|MessageData) – Message data to send