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; 
}