#include <message.hh>
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... |
virtual olsr::msg::Message::~Message | ( | ) | [inline, virtual] |
The message destructor.
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.
Referenced by olsr::pkt::Packet::add_message().
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.
References seqnum.
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.
References olsr::msg::Message::raw::addr, ADDRESS_SIZE, olsr::debug, olsr::dup_set, olsr::set::DuplicateSet::dupset(), forward(), HELLO_MESSAGE, HNA_MESSAGE, olsr::msg::Message::raw::hopcount, olsr::main_addr, olsr::set::DuplicateEntry::make_key(), MID_MESSAGE, olsr::msg::HNAMessage::parse(), olsr::msg::MIDMessage::parse(), olsr::msg::TCMessage::parse(), olsr::msg::HELLOMessage::parse(), olsr::utl::Data::raw(), olsr::msg::Message::raw::seqnum, seqnum, olsr::msg::Message::raw::size, olsr::utl::Data_< Self >::size(), TC_MESSAGE, olsr::msg::Message::raw::ttl, olsr::msg::Message::raw::type, and olsr::msg::Message::raw::vtime.
Referenced by olsr::pkt::Packet::parse().
The forwarding routine
References olsr::cproxy, olsr::dup_set, olsr::set::DuplicateSet::dupset(), olsr::msg::Message::raw::hopcount, olsr::utl::TimeVal::in_jitter(), olsr::sch::Scheduler::insert(), olsr::set::DuplicateSet::insert(), olsr::set::CoherenceProxy::linkset(), olsr::alg::main_addr_of(), olsr::set::Neighbor::make_key(), olsr::set::DuplicateEntry::make_key(), olsr::set::Link::make_key(), olsr::cst::maxjitter, olsr::msg::Message::header::originator, olsr::utl::Data::raw(), olsr::msg::Message::header::receiver, olsr::scheduler, olsr::msg::Message::header::sender, olsr::msg::Message::raw::seqnum, olsr::set::CoherenceProxy::sym_neighborset(), and olsr::msg::Message::raw::ttl.
Referenced by parse().
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.
Referenced by olsr::msg::TCMessage::dump(), olsr::msg::MIDMessage::dump(), olsr::msg::HNAMessage::dump(), olsr::msg::HELLOMessage::dump(), and olsr::pkt::Packet::parse().
utl::Seqnum<u_int16_t> olsr::msg::Message::seqnum [static, protected] |
The message sequence number.
Referenced by olsr::msg::TCMessage::dump(), olsr::msg::MIDMessage::dump(), olsr::msg::HNAMessage::dump(), olsr::msg::HELLOMessage::dump(), inc_seqnum(), and parse().