ZIO
Python and C++ interface to ZeroMQ and Zyre
Public Types | Public Member Functions | List of all members
zio::Message Class Reference

a ZIO message More...

#include <message.hpp>

Public Types

typedef Header header_t
 
typedef uint32_t routing_id_t
 

Public Member Functions

 Message ()
 
 Message (const std::string &form, level::MessageLevel lvl=level::undefined)
 
 Message (const header_t h)
 
 Message (const header_t h, multipart_t &&pl)
 
level::MessageLevel level () const
 
void set_level (level::MessageLevel level)
 
std::string form () const
 
void set_form (const std::string &form)
 
std::string label () const
 
void set_label (const std::string &label)
 
zio::json label_object () const
 Helper, when label holds a JSON object. More...
 
void set_label_object (const zio::json &lobj)
 
const PrefixHeaderprefix () const
 
const CoordHeadercoord () const
 
origin_t origin () const
 
granule_t granule () const
 
seqno_t seqno () const
 
void set_coord (origin_t origin=0, granule_t gran=0)
 
void set_seqno (int seqno)
 Explicit set. More...
 
message_t encode () const
 
void decode (const message_t &dat)
 
void fromparts (const multipart_t &allparts)
 Set self from multipart. Nullifyies routing ID. More...
 
multipart_t toparts () const
 Serialize self to multipart. More...
 
const multipart_t & payload () const
 Access payload(s) More...
 
void clear_payload ()
 
void add (message_t &&spmsg)
 
routing_id_t routing_id () const
 Return routing ID if we have one. More...
 
void set_routing_id (routing_id_t rid)
 Set routing ID. More...
 

Detailed Description

a ZIO message

This adds semantic methods over a zio::multipart_t message.

First part holds the prefix header, second the coord header. Optional following parts are payload.

Definition at line 59 of file message.hpp.

Member Typedef Documentation

◆ header_t

Definition at line 61 of file message.hpp.

◆ routing_id_t

typedef uint32_t zio::Message::routing_id_t

Definition at line 62 of file message.hpp.

Constructor & Destructor Documentation

◆ Message() [1/4]

zio::Message::Message ( )

Definition at line 42 of file message.cpp.

◆ Message() [2/4]

zio::Message::Message ( const std::string &  form,
level::MessageLevel  lvl = level::undefined 
)

Definition at line 60 of file message.cpp.

◆ Message() [3/4]

zio::Message::Message ( const header_t  h)

Definition at line 54 of file message.cpp.

◆ Message() [4/4]

zio::Message::Message ( const header_t  h,
multipart_t &&  pl 
)

Definition at line 47 of file message.cpp.

Member Function Documentation

◆ add()

void zio::Message::add ( message_t &&  spmsg)
inline

Definition at line 112 of file message.hpp.

◆ clear_payload()

void zio::Message::clear_payload ( )
inline

Definition at line 111 of file message.hpp.

◆ coord()

const CoordHeader& zio::Message::coord ( ) const
inline

Definition at line 83 of file message.hpp.

◆ decode()

void zio::Message::decode ( const message_t dat)

Set self based on encoded single-part message. If it has a routing ID, it will be kept.

Definition at line 128 of file message.cpp.

◆ encode()

zio::message_t zio::Message::encode ( ) const

Encode self to single-part message. If self has a routing ID, it will be set on the produced message.

Definition at line 118 of file message.cpp.

◆ form()

std::string zio::Message::form ( ) const

Definition at line 90 of file message.cpp.

◆ fromparts()

void zio::Message::fromparts ( const multipart_t &  allparts)

Set self from multipart. Nullifyies routing ID.

◆ granule()

granule_t zio::Message::granule ( ) const
inline

Definition at line 85 of file message.hpp.

◆ label()

std::string zio::Message::label ( ) const

Definition at line 102 of file message.cpp.

◆ label_object()

zio::json zio::Message::label_object ( ) const

Helper, when label holds a JSON object.

Definition at line 80 of file message.cpp.

◆ level()

zio::level::MessageLevel zio::Message::level ( ) const

Definition at line 67 of file message.cpp.

◆ origin()

origin_t zio::Message::origin ( ) const
inline

Definition at line 84 of file message.hpp.

◆ payload()

const multipart_t& zio::Message::payload ( ) const
inline

Access payload(s)

Definition at line 110 of file message.hpp.

◆ prefix()

const PrefixHeader& zio::Message::prefix ( ) const
inline

Definition at line 82 of file message.hpp.

◆ routing_id()

routing_id_t zio::Message::routing_id ( ) const
inline

Return routing ID if we have one.

Definition at line 115 of file message.hpp.

◆ seqno()

seqno_t zio::Message::seqno ( ) const
inline

Definition at line 86 of file message.hpp.

◆ set_coord()

void zio::Message::set_coord ( origin_t  origin = 0,
granule_t  gran = 0 
)

Prepare for sending, advance seqno automatically, set granule (if 0 use time), origin (if 0, leave as is).

Definition at line 106 of file message.cpp.

◆ set_form()

void zio::Message::set_form ( const std::string &  form)

Definition at line 93 of file message.cpp.

◆ set_label()

void zio::Message::set_label ( const std::string &  label)

Definition at line 75 of file message.cpp.

◆ set_label_object()

void zio::Message::set_label_object ( const zio::json lobj)

Definition at line 84 of file message.cpp.

◆ set_level()

void zio::Message::set_level ( level::MessageLevel  level)

Definition at line 71 of file message.cpp.

◆ set_routing_id()

void zio::Message::set_routing_id ( routing_id_t  rid)
inline

Set routing ID.

Definition at line 118 of file message.hpp.

◆ set_seqno()

void zio::Message::set_seqno ( int  seqno)
inline

Explicit set.

Definition at line 93 of file message.hpp.

◆ toparts()

zio::multipart_t zio::Message::toparts ( ) const

Serialize self to multipart.

Definition at line 134 of file message.cpp.


The documentation for this class was generated from the following files: