CMDP1 Module#

SPDX-FileCopyrightText: 2025 DESY and the Constellation authors SPDX-License-Identifier: EUPL-1.2

Provides message class for CMDP1

class core.message.cmdp1.CMDP1LogMessage(sender: str, log_level: LogLevel, log_topic: str, log_message: str, time: datetime | None = None, tags: dict[str, Any] | None = None)#

Bases: CMDP1Message

Message class for CMDP1 log messages

static disassemble(frames: list[bytes]) CMDP1LogMessage#
static from_cmdp_message(msg: CMDP1Message) CMDP1LogMessage#
static from_log_record(record: LogRecord, sender: str = '') CMDP1LogMessage#
property log_level: LogLevel#
property log_message: str#
property log_topic: str#
to_log_record() LogRecord#
class core.message.cmdp1.CMDP1Message(sender: str, topic: str, payload: bytes, time: datetime | None = None, tags: dict[str, Any] | None = None)#

Bases: object

Message class for CMDP1

assemble() MultipartMessage#
property cmdp_topic: str#
static disassemble(frames: list[bytes]) CMDP1Message#
is_log_message() bool#
is_notification() bool#
is_stat_message() bool#
property sender: str#
property tags: dict[str, Any]#
property time: datetime#
class core.message.cmdp1.CMDP1Notification(sender: str, topics_prefix: str, topics: dict[str, str], time: datetime | None = None, tags: dict[str, Any] | None = None)#

Bases: CMDP1Message

Message class for CMDP1 notifications

static disassemble(frames: list[bytes]) CMDP1Notification#
static from_cmdp_message(msg: CMDP1Message) CMDP1Notification#
property topics: dict[str, str]#
property topics_prefix: str#
class core.message.cmdp1.CMDP1StatMessage(sender: str, metric: Metric, value: Any, time: datetime | None = None, tags: dict[str, Any] | None = None)#

Bases: CMDP1Message

Message class for CMDP1 stat messages

static disassemble(frames: list[bytes]) CMDP1StatMessage#
static from_cmdp_message(msg: CMDP1Message) CMDP1StatMessage#
property metric: Metric#
property value: Any#
class core.message.cmdp1.MetricValue(metric: 'Metric', value: 'Any')#

Bases: object

assemble() bytes#
static disassemble(name: str, frame: bytes) MetricValue#
metric: Metric#
value: Any#