GComm  0.2.3
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
gcomm::gmcast::Message Class Reference

Classes

class  NodeList
 

Public Types

enum  Flags {
  F_GROUP_NAME = 1 << 0, F_NODE_NAME = 1 << 1, F_NODE_ADDRESS = 1 << 2, F_NODE_LIST = 1 << 3,
  F_HANDSHAKE_UUID = 1 << 4, F_RELAY = 1 << 5, F_SEGMENT_RELAY = 1 << 6
}
 
enum  Type {
  T_INVALID = 0, T_HANDSHAKE = 1, T_HANDSHAKE_RESPONSE = 2, T_OK = 3,
  T_FAIL = 4, T_TOPOLOGY_CHANGE = 5, T_KEEPALIVE = 6, T_USER_BASE = 8,
  T_MAX = 255
}
 

Public Member Functions

 Message (const Message &msg)
 
 Message (int v, const Type type, const UUID &handshake_uuid, const UUID &source_uuid, uint8_t segment_id)
 
 Message (int v, const Type type, const UUID &source_uuid, uint8_t segment_id)
 
 Message (int v, const Type type, const UUID &source_uuid, const int ttl, uint8_t segment)
 
 Message (int v, const Type type, const gcomm::UUID &handshake_uuid, const gcomm::UUID &source_uuid, const std::string &node_address, const std::string &group_name, uint8_t segment_id)
 
 Message (int v, const Type type, const gcomm::UUID &source_uuid, const std::string &group_name, const NodeList &nodes)
 
size_t serialize (gu::byte_t *buf, const size_t buflen, const size_t offset) const
 
size_t read_v0 (const gu::byte_t *buf, const size_t buflen, const size_t offset)
 
size_t unserialize (const gu::byte_t *buf, const size_t buflen, const size_t offset)
 
size_t serial_size () const
 
int version () const
 
Type type () const
 
void set_flags (uint8_t f)
 
uint8_t flags () const
 
uint8_t segment_id () const
 
const UUIDhandshake_uuid () const
 
const UUIDsource_uuid () const
 
const std::string & node_address () const
 
const std::string & group_name () const
 
const NodeListnode_list () const
 

Static Public Member Functions

static const char * type_to_string (Type t)
 

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