#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().
1.5.6