protoname_rtable.cc

来自「一个经典的介绍如何向NS-2中添加新协议的教程」· CC 代码 · 共 46 行

CC
46
字号

protoname_rtable::protoname_rtable() { }

void
protoname_rtable::print(Trace* out) {
	sprintf(out->pt_->buffer(), "P\tdest\tnext");
	out->pt_->dump();
	for (rtable_t::iterator it = rt_.begin(); it != rt_.end(); it++) {
		sprintf(out->pt_->buffer(), "P\t%d\t%d",
			(*it).first,
			(*it).second);
		out->pt_->dump();
	}
}

void
protoname_rtable::clear() {
	rt_.clear();
}

void
protoname_rtable::rm_entry(nsaddr_t dest) {
	rt_.erase(dest);
}

void
protoname_rtable::add_entry(nsaddr_t dest, nsaddr_t next) {
	rt_[dest] = next;
}

nsaddr_t
protoname_rtable::lookup(nsaddr_t dest) {
	rtable_t::iterator it = rt_.find(dest);
	if (it == rt_.end())
		return IP_BROADCAST;
	else
		return (*it).second;
}

u_int32_t
protoname_rtable::size() {
	return rt_.size();
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?