core.messaging.message_router
MessageRouter Objects
class MessageRouter()
Message routing rules and logic.
When a message enters the message bus, it is first checked for its validity. Afterwards, the router decides through which channels (local, remote) it needs to be sent.
RoutingError Objects
class RoutingError(RuntimeError)
Represents errors during routing validation.
__init__
def __init__(comp_id: UnitID, api_key: str)
Arguments:
comp_id- The component id (required to decide whether we match a given direct target).api_key- The API key.
verify_message
def verify_message(msg: Message, msg_meta: MessageMetaInformation) -> None
Verifies whether a message may enter the message bus.
Arguments:
msg- The message that wants to enter the network engine.msg_meta- The message meta information.
Raises:
RoutingError- In case the message is not valid to enter the message bus.
check_local_routing
def check_local_routing(msg: Message,
msg_meta: MessageMetaInformation) -> bool
Checks if the message should be routed locally.
Arguments:
msg- The message.msg_meta- The message meta information.
Returns:
Whether local routing should happen.
check_remote_routing
def check_remote_routing(msg: Message,
msg_meta: MessageMetaInformation) -> bool
Checks if the message should be routed remotely.
Arguments:
msg- The message.msg_meta- The message meta information.
Returns:
Whether remote routing should happen.