www.pudn.com > WSN-SEASON.rar > mflood-seqtable.cc
#include// The Routing Table MFlood_RTEntry::MFlood_RTEntry() { src_ = 0; // seq_ = 0; for(int i=0;i max_seqno) return true; //采用min_seqno来抛弃掉太久以前的包 if(seq < min_seqno) return false; for(int i=0;i max_seqno) max_seqno = seq; /* for(int i=0;i rt_seqnos[i]) min_seqno = rt_seqnos[i]; } // The Routing Table MFlood_RTEntry* MFlood_RTable::rt_lookup(nsaddr_t id) { MFlood_RTEntry *rt = rthead.lh_first; for(; rt; rt = rt->rt_link.le_next) { if(rt->src_ == id) break; } return rt; } void MFlood_RTable::rt_delete(nsaddr_t id) { MFlood_RTEntry *rt = rt_lookup(id); if(rt) { LIST_REMOVE(rt, rt_link); delete rt; } } void MFlood_RTable::rt_print() { MFlood_RTEntry *rt = rthead.lh_first; //printf("\n Seq table:\n"); for(; rt; rt = rt->rt_link.le_next) { //printf("index: %d , seq: %d \n",rt->src_,rt->max_seqno); } return; }