📄 mttable.cc
字号:
/******************************************************************* Copyright (C) 2004 Thomas Kunz, CRC Canada, BCAST for IPv4. DISTRIBUTED WITH NO WARRANTY, EXPRESS OR IMPLIED. See the GNU Library General Public License (file COPYING in the MANET_multicast directory) for conditions of use and redistribution.*********************************************************************/#include "MANET_multicast/mttable.h"/* ===================================================================== The Multicast Routing Table ===================================================================== */mt_entry::mt_entry(){ // For AODV mt_dst = 0; mt_flags = MTF_DOWN; mt_grp_leader_dst = NO_LEADER; mt_seqno = 0; mt_hops_grp_leader = INFINITY2; mt_expire = 0.0; mt_req_last_ttl = 0; mt_req_flags = 0; mt_req_timeout = 0; mt_req_cnt = 0; mt_req_timestamp = 0; mt_prune_time = 0; mt_rep_timestamp = 0; mt_rep_dst = -1; mt_rep_seqno = 0; mt_rep_hop_count = 0; mt_rep_hops_grp_leader = 0; mt_rep_upstream = -1; mt_rep_src = -1; // For ODMRP fg_flag = 0; src = 0; recv = 0; fg_expire = 0;};/* ===================================================================== The Multicast Routing Table ===================================================================== */mt_entry*mttable::mt_lookup(nsaddr_t id){ mt_entry *mt = mthead.lh_first; for(; mt; mt = mt->mt_link.le_next) { if(mt->mt_dst == id) break; } return mt;}voidmttable::mt_delete(nsaddr_t id){ mt_entry *mt = mt_lookup(id); if(mt) { LIST_REMOVE(mt, mt_link); delete mt; }}mt_entry*mttable::mt_add(nsaddr_t id){ mt_entry *mt; assert(mt_lookup(id) == 0); mt = new mt_entry; assert(mt); mt->mt_dst = id; LIST_INSERT_HEAD(&mthead, mt, mt_link); return mt;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -