CDTP Module#
SPDX-FileCopyrightText: 2024 DESY and the Constellation authors SPDX-License-Identifier: EUPL-1.2
Module implementing the Constellation Data Transmission Protocol.
- class core.cdtp.DataReceiver(context: Context, logger: ConstellationLogger, receive_bor_cb: Callable[[str, dict[str, Any], dict[str, Any]], None], receive_data_cb: Callable[[str, DataRecord], None], receive_eor_cb: Callable[[str, dict[str, Any], dict[str, Any]], None], data_transmitters: set[str] | None)#
Bases:
object
Base class for receiving CDTP messages via ZMQ.
- add_sender(service: DiscoveredService) None #
- remove_sender(service: DiscoveredService) None #
- class core.cdtp.DataTransmitter(name: str, socket: Socket, logger: ConstellationLogger, failure_cb: Callable[[str], None])#
Bases:
object
Base class for sending CDTP messages via ZMQ.
- send_data_record(data_record: DataRecord) None #
Queue a data record for sending
- property state: TransmitterState#
- exception core.cdtp.InvalidCDTPMessageType(type: Type, reason: str)#
Bases:
RuntimeError
- class core.cdtp.PullThread(drc: DataReceiver)#
Bases:
Thread
Receiving thread for CDTP
- class core.cdtp.PushThread(dtm: DataTransmitter)#
Bases:
Thread
Sending thread for CDTP
- exception core.cdtp.RecvTimeoutError(what: str, timeout: int)#
Bases:
RuntimeError
- class core.cdtp.RunCondition(*values)#
Bases:
IntFlag
Defines the condition flags of run data as transmitted via CDTP.
- ABORTED = 8#
- DEGRADED = 16#
- GOOD = 0#
- INCOMPLETE = 2#
- INTERRUPTED = 4#
- TAINTED = 1#
- exception core.cdtp.SendTimeoutError(what: str, timeout: int)#
Bases:
RuntimeError