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

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.

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 
) [inline, static]

The parsing routine.

This is the general message parser, that further dispatches to specific message parsers if the message's type is known.

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

The forwarding routine

This does forwarding for the message. Actual forwarders for any known message are called.


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 Mon Sep 10 17:02:13 2007 for Qolyester daemon by  doxygen 1.5.1