Sirikata
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
Sirikata::Message Class Reference

Base class for messages that go over the network. More...

#include <ServerMessage.hpp>

Collaboration diagram for Sirikata::Message:

List of all members.

Public Member Functions

 Message (const ServerID &origin)
 Message (ServerID src, uint16 src_port, ServerID dest, ServerID dest_port)
 Message (ServerID src, uint16 src_port, ServerID dest, uint16 dest_port, const std::string &pl)
 Message (ServerID src, uint16 src_port, ServerID dest, uint16 dest_port, const Sirikata::Protocol::Object::ObjectMessage *pl)
ServerID source_server () const
void set_source_server (const ServerID sid)
uint16 source_port () const
void set_source_port (const uint16 port)
ServerID dest_server () const
void set_dest_server (const ServerID sid)
uint16 dest_port () const
void set_dest_port (const uint16 port)
UniqueMessageID id () const
UniqueMessageID payload_id () const
std::string payload () const
void set_payload (const std::string &pl)
bool ParseFromString (const std::string &data)
bool ParseFromArray (const void *data, int size)
bool serialize (Network::Chunk *result) const
uint32 serializedSize () const
uint32 size () const

Static Public Member Functions

static Messagedeserialize (const Network::Chunk &wire)

Protected Member Functions

 Message ()
void set_id (const UniqueMessageID _id)
void set_payload_id (const UniqueMessageID _id)

Private Member Functions

void fillMessage (ServerID src, uint16 src_port, ServerID dest, uint16 dest_port)
void fillMessage (ServerID src, uint16 src_port, ServerID dest, ServerID dest_port, const std::string &pl)

Private Attributes

Sirikata::Protocol::Server::ServerMessage mImpl
uint32 mCachedSize

Detailed Description

Base class for messages that go over the network.

Must provide message type and serialization methods.


Constructor & Destructor Documentation

Sirikata::Message::Message ( const ServerID &  origin)

References set_source_server().

Sirikata::Message::Message ( ServerID  src,
uint16  src_port,
ServerID  dest,
ServerID  dest_port 
)

References fillMessage().

Sirikata::Message::Message ( ServerID  src,
uint16  src_port,
ServerID  dest,
uint16  dest_port,
const std::string &  pl 
)

References fillMessage().

Sirikata::Message::Message ( ServerID  src,
uint16  src_port,
ServerID  dest,
uint16  dest_port,
const Sirikata::Protocol::Object::ObjectMessage *  pl 
)
Sirikata::Message::Message ( ) [protected]

Referenced by deserialize().


Member Function Documentation

Message * Sirikata::Message::deserialize ( const Network::Chunk &  wire) [static]
uint16 Sirikata::Message::dest_port ( ) const [inline]
ServerID Sirikata::Message::dest_server ( ) const [inline]
void Sirikata::Message::fillMessage ( ServerID  src,
uint16  src_port,
ServerID  dest,
uint16  dest_port 
) [private]
void Sirikata::Message::fillMessage ( ServerID  src,
uint16  src_port,
ServerID  dest,
ServerID  dest_port,
const std::string &  pl 
) [private]

References fillMessage(), and set_payload().

UniqueMessageID Sirikata::Message::id ( ) const [inline]
bool Sirikata::Message::ParseFromArray ( const void *  data,
int  size 
) [inline]

Referenced by deserialize().

bool Sirikata::Message::ParseFromString ( const std::string &  data) [inline]
std::string Sirikata::Message::payload ( ) const [inline]
UniqueMessageID Sirikata::Message::payload_id ( ) const [inline]
bool Sirikata::Message::serialize ( Network::Chunk *  result) const
uint32 Sirikata::Message::serializedSize ( ) const
void Sirikata::Message::set_dest_port ( const uint16  port) [inline]

Referenced by fillMessage().

void Sirikata::Message::set_dest_server ( const ServerID  sid) [inline]

Referenced by fillMessage().

void Sirikata::Message::set_id ( const UniqueMessageID  _id) [inline, protected]

Referenced by set_source_server().

void Sirikata::Message::set_payload ( const std::string &  pl) [inline]

Referenced by fillMessage().

void Sirikata::Message::set_payload_id ( const UniqueMessageID  _id) [inline, protected]

Referenced by Message().

void Sirikata::Message::set_source_port ( const uint16  port) [inline]

Referenced by fillMessage().

void Sirikata::Message::set_source_server ( const ServerID  sid)

References mImpl, and set_id().

Referenced by fillMessage(), and Message().

uint32 Sirikata::Message::size ( ) const [inline]
uint16 Sirikata::Message::source_port ( ) const [inline]
ServerID Sirikata::Message::source_server ( ) const [inline]

Member Data Documentation

uint32 Sirikata::Message::mCachedSize [mutable, private]

Referenced by deserialize(), and serializedSize().

Sirikata::Protocol::Server::ServerMessage Sirikata::Message::mImpl [private]

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