core.messaging.handlers.message_service
MessageService Objects
class MessageService()
Base class for all message services.
A message service wraps message handlers and proper message context creation (i.e., using a flexible context type). It is used by the message bus as an encapsulated layer for message dispatching.
__init__
def __init__(comp_id: UnitID,
*,
message_bus: MessageBusProtocol,
context_type: type[MessageContextType] = MessageContext)
Arguments:
comp_id- The global component identifier.message_bus- The global message bus.context_type- The type to use when creating a message context.
create_context
def create_context(msg_meta: MessageMetaInformation, msg_origin: UnitID, *,
logger: LoggerProtocol,
config: Configuration) -> MessageContext
Creates a new service context.
Arguments:
msg_meta- The meta information of the message.msg_origin- The origin of the message.logger- The logger to be used within the new context.config- The global component configuration.
Returns:
The newly created message context.
create_message_builder
def create_message_builder() -> MessageBuilder
Creates a new message builder.
Returns:
The newly created message builder.
message_handlers
@property
def message_handlers() -> MessageHandlers
The message handlers maintained by this message service.