coral
A C++ library for distributed co-simulation
Classes | Functions
coral::protocol::domain Namespace Reference

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...
 

Detailed Description

Functions for constructing and parsing messages sent between domain participants.

Function Documentation

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.

Exceptions
coral::error::ProtocolViolationExceptionif the frame format is invalid, if the protocol version is not supported, or if the message type is unknown.