Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

olsr::msg::Message Class Reference

The abstract message class. More...

#include <message.hh>

Inheritance diagram for olsr::msg::Message:

olsr::msg::HELLOMessage olsr::msg::HNAMessage olsr::msg::MIDMessage olsr::msg::TCMessage olsr::msg::UnknownMessage List of all members.

Public Member Functions

virtual ~Message ()
virtual bool dump (utl::Data &, const address_t &) const =0
virtual void inc_seqnum ()

Static Public Member Functions

static void parse (utl::Data d, const address_t &sender, const address_t &receiver, const seqnum_t &pseqnum)
static void forward (utl::Data &d, const header &mh)

Static Public Attributes

static const ::size_t min_length = sizeof (raw)
 Minimum length of a message.

Static Protected Attributes

static utl::Seqnum< u_int16_t > seqnum
 The message sequence number.

Classes

struct  header
struct  raw
 Convenience data structure of the message header. More...

Detailed Description

The abstract message class.


Constructor & Destructor Documentation

struct virtual olsr::msg::Message::~Message  )  [inline, virtual]
 

The message destructor.


Member Function Documentation

virtual bool olsr::msg::Message::dump utl::Data ,
const address_t
const [pure virtual]
 

The virtual dump method, forwarded to the actual message dump method.

Implemented in olsr::msg::HELLOMessage, olsr::msg::HNAMessage, olsr::msg::UnknownMessage, olsr::msg::MIDMessage, and olsr::msg::TCMessage.

void olsr::msg::Message::forward utl::Data d,
const header mh
[static]
 

The forwarding routine

  • d Data of the message to forward
  • mh message header
This does forwarding for the message. Actual forwarders for any known message are called.

virtual void olsr::msg::Message::inc_seqnum  )  [inline, virtual]
 

The sequence number incrementing method.

This is used for the case when a message is split in two separate messages. The second message's sequence number then needs to be incremented. FIXME: I don't see why this should be a virtual method right now...

Reimplemented in olsr::msg::UnknownMessage.

void olsr::msg::Message::parse utl::Data  d,
const address_t sender,
const address_t receiver,
const seqnum_t pseqnum
[static]
 

The parsing routine.

  • d Data buffer to parse
  • sender Address of sending interface
  • receiver Address of receiving interface
  • pseqnum Packet sequence number
This is the general message parser, that further dispatches to specific message parsers if the message's type is known.


Member Data Documentation

const ::size_t olsr::msg::Message::min_length = sizeof (raw) [static]
 

Minimum length of a message.

Reimplemented in olsr::msg::HELLOMessage, olsr::msg::HNAMessage, olsr::msg::MIDMessage, and olsr::msg::TCMessage.

utl::Seqnum<u_int16_t> olsr::msg::Message::seqnum [static, protected]
 

The message sequence number.


The documentation for this class was generated from the following files:
Generated on Thu Jul 28 21:21:50 2005 for Qolyester daemon by  doxygen 1.4.1