ospf_xif.cc

来自「BCAST Implementation for NS2」· CC 代码 · 共 2,721 行 · 第 1/5 页

CC
2,721
字号
	return;    }    cb->dispatch(e, &networks, &netmasks);}boolXrlOspfV0p1Client::send_add_or_configure_host(	const char*	the_tgt, 	const IPv4&	network, 	const IPv4&	netmask, 	const uint32_t&	area_id, 	const uint32_t&	cost, 	const AddOrConfigureHostCB&	cb){    Xrl x(the_tgt, "ospf/0.1/add_or_configure_host");    x.args().add("network", network);    x.args().add("netmask", netmask);    x.args().add("area_id", area_id);    x.args().add("cost", cost);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_add_or_configure_host, cb));}/* Unmarshall add_or_configure_host */voidXrlOspfV0p1Client::unmarshall_add_or_configure_host(	const XrlError&	e, 	XrlArgs*	a, 	AddOrConfigureHostCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_delete_host(	const char*	the_tgt, 	const IPv4&	network, 	const IPv4&	netmask, 	const uint32_t&	area_id, 	const DeleteHostCB&	cb){    Xrl x(the_tgt, "ospf/0.1/delete_host");    x.args().add("network", network);    x.args().add("netmask", netmask);    x.args().add("area_id", area_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_delete_host, cb));}/* Unmarshall delete_host */voidXrlOspfV0p1Client::unmarshall_delete_host(	const XrlError&	e, 	XrlArgs*	a, 	DeleteHostCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_query_host(	const char*	the_tgt, 	const IPv4&	network, 	const IPv4&	netmask, 	const uint32_t&	area_id, 	const QueryHostCB&	cb){    Xrl x(the_tgt, "ospf/0.1/query_host");    x.args().add("network", network);    x.args().add("netmask", netmask);    x.args().add("area_id", area_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_query_host, cb));}/* Unmarshall query_host */voidXrlOspfV0p1Client::unmarshall_query_host(	const XrlError&	e, 	XrlArgs*	a, 	QueryHostCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0);	return;    } else if (a && a->size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    uint32_t cost;    try {	a->get("cost", cost);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &cost);}boolXrlOspfV0p1Client::send_list_hosts(	const char*	the_tgt, 	const uint32_t&	area_id, 	const ListHostsCB&	cb){    Xrl x(the_tgt, "ospf/0.1/list_hosts");    x.args().add("area_id", area_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_list_hosts, cb));}/* Unmarshall list_hosts */voidXrlOspfV0p1Client::unmarshall_list_hosts(	const XrlError&	e, 	XrlArgs*	a, 	ListHostsCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0, 0);	return;    } else if (a && a->size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS(), 0, 0);	return;    }    XrlAtomList networks;    XrlAtomList netmasks;    try {	a->get("networks", networks);	a->get("netmasks", netmasks);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0, 0);	return;    }    cb->dispatch(e, &networks, &netmasks);}boolXrlOspfV0p1Client::send_add_vlink(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const AddVlinkCB&	cb){    Xrl x(the_tgt, "ospf/0.1/add_vlink");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_add_vlink, cb));}/* Unmarshall add_vlink */voidXrlOspfV0p1Client::unmarshall_add_vlink(	const XrlError&	e, 	XrlArgs*	a, 	AddVlinkCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_delete_vlink(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const DeleteVlinkCB&	cb){    Xrl x(the_tgt, "ospf/0.1/delete_vlink");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_delete_vlink, cb));}/* Unmarshall delete_vlink */voidXrlOspfV0p1Client::unmarshall_delete_vlink(	const XrlError&	e, 	XrlArgs*	a, 	DeleteVlinkCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_vlink_set_transmit_delay(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const uint32_t&	delay_secs, 	const VlinkSetTransmitDelayCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_set_transmit_delay");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    x.args().add("delay_secs", delay_secs);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_set_transmit_delay, cb));}/* Unmarshall vlink_set_transmit_delay */voidXrlOspfV0p1Client::unmarshall_vlink_set_transmit_delay(	const XrlError&	e, 	XrlArgs*	a, 	VlinkSetTransmitDelayCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_vlink_get_transmit_delay(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const VlinkGetTransmitDelayCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_get_transmit_delay");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_get_transmit_delay, cb));}/* Unmarshall vlink_get_transmit_delay */voidXrlOspfV0p1Client::unmarshall_vlink_get_transmit_delay(	const XrlError&	e, 	XrlArgs*	a, 	VlinkGetTransmitDelayCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0);	return;    } else if (a && a->size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    uint32_t delay_secs;    try {	a->get("delay_secs", delay_secs);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &delay_secs);}boolXrlOspfV0p1Client::send_vlink_set_retransmit_interval(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const uint32_t&	interval_secs, 	const VlinkSetRetransmitIntervalCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_set_retransmit_interval");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    x.args().add("interval_secs", interval_secs);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_set_retransmit_interval, cb));}/* Unmarshall vlink_set_retransmit_interval */voidXrlOspfV0p1Client::unmarshall_vlink_set_retransmit_interval(	const XrlError&	e, 	XrlArgs*	a, 	VlinkSetRetransmitIntervalCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_vlink_get_retransmit_interval(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const VlinkGetRetransmitIntervalCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_get_retransmit_interval");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_get_retransmit_interval, cb));}/* Unmarshall vlink_get_retransmit_interval */voidXrlOspfV0p1Client::unmarshall_vlink_get_retransmit_interval(	const XrlError&	e, 	XrlArgs*	a, 	VlinkGetRetransmitIntervalCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0);	return;    } else if (a && a->size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    uint32_t interval_secs;    try {	a->get("interval_secs", interval_secs);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &interval_secs);}boolXrlOspfV0p1Client::send_vlink_set_hello_interval(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const uint32_t&	interval_secs, 	const VlinkSetHelloIntervalCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_set_hello_interval");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    x.args().add("interval_secs", interval_secs);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_set_hello_interval, cb));}/* Unmarshall vlink_set_hello_interval */voidXrlOspfV0p1Client::unmarshall_vlink_set_hello_interval(	const XrlError&	e, 	XrlArgs*	a, 	VlinkSetHelloIntervalCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_vlink_get_hello_interval(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const VlinkGetHelloIntervalCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_get_hello_interval");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_get_hello_interval, cb));}/* Unmarshall vlink_get_hello_interval */voidXrlOspfV0p1Client::unmarshall_vlink_get_hello_interval(	const XrlError&	e, 	XrlArgs*	a, 	VlinkGetHelloIntervalCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0);	return;    } else if (a && a->size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    uint32_t interval_secs;    try {	a->get("interval_secs", interval_secs);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &interval_secs);}boolXrlOspfV0p1Client::send_vlink_set_router_dead_interval(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const uint32_t&	interval_secs, 	const VlinkSetRouterDeadIntervalCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_set_router_dead_interval");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    x.args().add("interval_secs", interval_secs);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_set_router_dead_interval, cb));}/* Unmarshall vlink_set_router_dead_interval */voidXrlOspfV0p1Client::unmarshall_vlink_set_router_dead_interval(	const XrlError&	e, 	XrlArgs*	a, 	VlinkSetRouterDeadIntervalCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e);	return;    } else if (a && a->size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS());	return;    }    cb->dispatch(e);}boolXrlOspfV0p1Client::send_vlink_get_router_dead_interval(	const char*	the_tgt, 	const uint32_t&	transit_area, 	const uint32_t&	neighbor_id, 	const VlinkGetRouterDeadIntervalCB&	cb){    Xrl x(the_tgt, "ospf/0.1/vlink_get_router_dead_interval");    x.args().add("transit_area", transit_area);    x.args().add("neighbor_id", neighbor_id);    return _sender->send(x, callback(this, &XrlOspfV0p1Client::unmarshall_vlink_get_router_dead_interval, cb));}/* Unmarshall vlink_get_router_dead_interval */voidXrlOspfV0p1Client::unmarshall_vlink_get_router_dead_interval(	const XrlError&	e, 	XrlArgs*	a, 	VlinkGetRouterDeadIntervalCB		cb){    if (e != XrlError::OKAY()) {	cb->dispatch(e, 0);	return;    } else if (a && a->size() != 1) {	XLOG_ERROR("Wrong number of arguments (%u != 1)", (uint32_t)a->size());	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    uint32_t interval_secs;    try {	a->get("interval_secs", interval_secs);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &interval_secs);}

⌨️ 快捷键说明

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