Courier
Base class for message couriers that transport data between nodes.
| Declared in | src/libs/libcomms/comms/couriers/Courier.hpp |
| Inherits | QObject |
| Inherited By | ActuatorCourier, AgentStateCourier, BlobCourier, ConfigSyncCourier, DebugCourier, DiscoveryCourier, MockCourier, SensorsCourier, SessionCourier, and SpeechCourier |
| Group | comms |
Detailed description
Courier is the abstract base for all message types exchanged between OctoMY nodes. Each Courier subclass handles a specific type of data (sensors, agent state, blobs). Couriers are registered with a Comms instance and scheduled for transmission based on their mandate (priority, frequency, reliability).
The Courier lifecycle:
- Created by application code with a unique ID and name
- Registered with Comms via registerCourier()
- Scheduled for transmission based on mandate()
- sendingOpportunity() called when it's time to send
- dataReceived() called when matching data arrives
This class is explained in the communication-system explanation.
See also Comms, CommsChannel, CourierMandate, SensorsCourier, AgentStateCourier.