www.pudn.com > WSN-SEASON.rar > mflood-seqtable.h
#ifndef __mflood_seqtable_h__ #define __mflood_seqtable_h__ #include#include #include #include #include #define INFINITY 0xff #define RTF_DOWN 0 #define RTF_UP 1 #define REM_SEQ_COUNT 5000 // Route Table Entry class MFlood_RTEntry { friend class MFlood_RTable; friend class MFlood; public: MFlood_RTEntry(); MFlood_RTEntry(nsaddr_t src,u_int32_t seq); bool isNewSeq(u_int32_t seq); // old -> false, new->true void addSeq(u_int32_t seq); // add a seqno to seqno array(rt_seqnos) protected: LIST_ENTRY(MFlood_RTEntry) rt_link; nsaddr_t src_; // u_int32_t seq_; u_int32_t rt_seqnos[REM_SEQ_COUNT]; //seqno array u_int32_t max_seqno; //max seqno u_int32_t min_seqno; //max seqno u_int16_t seq_it; // seqno's iterator }; // The Routing Table class MFlood_RTable { friend class MFlood; public: MFlood_RTable() { LIST_INIT(&rthead); } void rt_delete(nsaddr_t id); MFlood_RTEntry* rt_lookup(nsaddr_t id); void rt_print(); private: LIST_HEAD(, MFlood_RTEntry) rthead; }; #endif