coral
A C++ library for distributed co-simulation
|
Functions for constructing and parsing messages sent between domain participants. More...
Classes | |
struct | Header |
The information in a message header. More... | |
Functions | |
zmq::message_t | CreateHeader (MessageType messageType, uint16_t protocolVersion) |
Creates a message header for the given message type, using the given protocol version. | |
void | CreateAddressedMessage (std::vector< zmq::message_t > &message, const std::string &recipient, MessageType messageType, uint16_t protocolVersion) |
Creates a body-less addressed message. More... | |
void | CreateAddressedMessage (std::vector< zmq::message_t > &message, const std::string &recipient, MessageType messageType, uint16_t protocolVersion, const google::protobuf::MessageLite &body) |
Creates an addressed message. | |
Header | ParseHeader (const zmq::message_t &headerFrame) |
Parses a header frame and returns its contents as a Header object. More... | |
Functions for constructing and parsing messages sent between domain participants.
void coral::protocol::domain::CreateAddressedMessage | ( | std::vector< zmq::message_t > & | message, |
const std::string & | recipient, | ||
MessageType | messageType, | ||
uint16_t | protocolVersion | ||
) |
Creates a body-less addressed message.
This function fills message
with three frames: an envelope frame with the contents of recipient
, an empty delimiter frame, and a header frame for the given message type and protocol version. Any previous contents of message
will be replaced.
Header coral::protocol::domain::ParseHeader | ( | const zmq::message_t & | headerFrame | ) |
Parses a header frame and returns its contents as a Header object.
coral::error::ProtocolViolationException | if the frame format is invalid, if the protocol version is not supported, or if the message type is unknown. |