Events#

MessageInfo#

A representation of key metrics relating to the origin and age of a message.

struct roq::MessageInfo#

Trace information relating to the current message.

Public Members

uint8_t source = {}#

Source identifier (index into the list of connections)

std::string_view source_name#

Source name.

UUID source_session_id#

Session identifier (UUID)

uint64_t source_seqno = {}#

Sequence number (strictly increasing)

std::chrono::nanoseconds receive_time_utc = {}#

Client receive time (realtime clock)

std::chrono::nanoseconds receive_time = {}#

Client receive time (monotonic clock)

std::chrono::nanoseconds source_send_time = {}#

Source send time (monotonic clock)

std::chrono::nanoseconds source_receive_time = {}#

Source receive time (monotonic clock)

std::chrono::nanoseconds origin_create_time = {}#

Origin create time (monotonic clock)

std::chrono::nanoseconds origin_create_time_utc = {}#

Origin create time (realtime clock)

bool is_last = false#

Is last in batch?

uint64_t opaque = {}#

Opaque value (internal)

Event#

A template used to encapsulate a message with its associated roq::MessageInfo.

template<typename T>
struct roq::Event#

Event.

Public Functions

template<typename Result, typename Handler, typename ...Args>
inline Result dispatch(Handler &&handler, Args&&... args) const#

Dispatch to handler.

inline operator MessageInfo const&() const#

Access MessageInfo.

inline operator value_type const&() const#

Access Message.

inline operator std::pair<MessageInfo const&, value_type const&>() const#

Structured binding.

Public Members

MessageInfo const &message_info#

MessageInfo.

value_type const &value#

Message.