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.

In this section