fea_ifmgr_xif.cc

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

CC
2,613
字号
    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &enabled);}boolXrlIfmgrV0p1Client::send_get_configured_prefix4(	const char*	the_tgt, 	const string&	ifname, 	const string&	vif, 	const IPv4&	address, 	const GetConfiguredPrefix4CB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/get_configured_prefix4");    x.args().add("ifname", ifname);    x.args().add("vif", vif);    x.args().add("address", address);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_get_configured_prefix4, cb));}/* Unmarshall get_configured_prefix4 */voidXrlIfmgrV0p1Client::unmarshall_get_configured_prefix4(	const XrlError&	e, 	XrlArgs*	a, 	GetConfiguredPrefix4CB		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 prefix_len;    try {	a->get("prefix_len", prefix_len);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &prefix_len);}boolXrlIfmgrV0p1Client::send_get_configured_broadcast4(	const char*	the_tgt, 	const string&	ifname, 	const string&	vif, 	const IPv4&	address, 	const GetConfiguredBroadcast4CB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/get_configured_broadcast4");    x.args().add("ifname", ifname);    x.args().add("vif", vif);    x.args().add("address", address);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_get_configured_broadcast4, cb));}/* Unmarshall get_configured_broadcast4 */voidXrlIfmgrV0p1Client::unmarshall_get_configured_broadcast4(	const XrlError&	e, 	XrlArgs*	a, 	GetConfiguredBroadcast4CB		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;    }    IPv4 broadcast;    try {	a->get("broadcast", broadcast);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &broadcast);}boolXrlIfmgrV0p1Client::send_get_configured_endpoint4(	const char*	the_tgt, 	const string&	ifname, 	const string&	vif, 	const IPv4&	address, 	const GetConfiguredEndpoint4CB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/get_configured_endpoint4");    x.args().add("ifname", ifname);    x.args().add("vif", vif);    x.args().add("address", address);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_get_configured_endpoint4, cb));}/* Unmarshall get_configured_endpoint4 */voidXrlIfmgrV0p1Client::unmarshall_get_configured_endpoint4(	const XrlError&	e, 	XrlArgs*	a, 	GetConfiguredEndpoint4CB		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;    }    IPv4 endpoint;    try {	a->get("endpoint", endpoint);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &endpoint);}boolXrlIfmgrV0p1Client::send_get_configured_prefix6(	const char*	the_tgt, 	const string&	ifname, 	const string&	vif, 	const IPv6&	address, 	const GetConfiguredPrefix6CB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/get_configured_prefix6");    x.args().add("ifname", ifname);    x.args().add("vif", vif);    x.args().add("address", address);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_get_configured_prefix6, cb));}/* Unmarshall get_configured_prefix6 */voidXrlIfmgrV0p1Client::unmarshall_get_configured_prefix6(	const XrlError&	e, 	XrlArgs*	a, 	GetConfiguredPrefix6CB		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 prefix_len;    try {	a->get("prefix_len", prefix_len);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &prefix_len);}boolXrlIfmgrV0p1Client::send_get_configured_endpoint6(	const char*	the_tgt, 	const string&	ifname, 	const string&	vif, 	const IPv6&	address, 	const GetConfiguredEndpoint6CB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/get_configured_endpoint6");    x.args().add("ifname", ifname);    x.args().add("vif", vif);    x.args().add("address", address);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_get_configured_endpoint6, cb));}/* Unmarshall get_configured_endpoint6 */voidXrlIfmgrV0p1Client::unmarshall_get_configured_endpoint6(	const XrlError&	e, 	XrlArgs*	a, 	GetConfiguredEndpoint6CB		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;    }    IPv6 endpoint;    try {	a->get("endpoint", endpoint);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &endpoint);}boolXrlIfmgrV0p1Client::send_start_transaction(	const char*	the_tgt, 	const StartTransactionCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/start_transaction");    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_start_transaction, cb));}/* Unmarshall start_transaction */voidXrlIfmgrV0p1Client::unmarshall_start_transaction(	const XrlError&	e, 	XrlArgs*	a, 	StartTransactionCB		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 tid;    try {	a->get("tid", tid);    } catch (const XrlArgs::XrlAtomNotFound&) {	XLOG_ERROR("Atom not found");	cb->dispatch(XrlError::BAD_ARGS(), 0);	return;    }    cb->dispatch(e, &tid);}boolXrlIfmgrV0p1Client::send_commit_transaction(	const char*	the_tgt, 	const uint32_t&	tid, 	const CommitTransactionCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/commit_transaction");    x.args().add("tid", tid);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_commit_transaction, cb));}/* Unmarshall commit_transaction */voidXrlIfmgrV0p1Client::unmarshall_commit_transaction(	const XrlError&	e, 	XrlArgs*	a, 	CommitTransactionCB		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);}boolXrlIfmgrV0p1Client::send_abort_transaction(	const char*	the_tgt, 	const uint32_t&	tid, 	const AbortTransactionCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/abort_transaction");    x.args().add("tid", tid);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_abort_transaction, cb));}/* Unmarshall abort_transaction */voidXrlIfmgrV0p1Client::unmarshall_abort_transaction(	const XrlError&	e, 	XrlArgs*	a, 	AbortTransactionCB		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);}boolXrlIfmgrV0p1Client::send_create_interface(	const char*	the_tgt, 	const uint32_t&	tid, 	const string&	ifname, 	const CreateInterfaceCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/create_interface");    x.args().add("tid", tid);    x.args().add("ifname", ifname);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_create_interface, cb));}/* Unmarshall create_interface */voidXrlIfmgrV0p1Client::unmarshall_create_interface(	const XrlError&	e, 	XrlArgs*	a, 	CreateInterfaceCB		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);}boolXrlIfmgrV0p1Client::send_delete_interface(	const char*	the_tgt, 	const uint32_t&	tid, 	const string&	ifname, 	const DeleteInterfaceCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/delete_interface");    x.args().add("tid", tid);    x.args().add("ifname", ifname);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_delete_interface, cb));}/* Unmarshall delete_interface */voidXrlIfmgrV0p1Client::unmarshall_delete_interface(	const XrlError&	e, 	XrlArgs*	a, 	DeleteInterfaceCB		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);}boolXrlIfmgrV0p1Client::send_set_interface_enabled(	const char*	the_tgt, 	const uint32_t&	tid, 	const string&	ifname, 	const bool&	enabled, 	const SetInterfaceEnabledCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/set_interface_enabled");    x.args().add("tid", tid);    x.args().add("ifname", ifname);    x.args().add("enabled", enabled);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_set_interface_enabled, cb));}/* Unmarshall set_interface_enabled */voidXrlIfmgrV0p1Client::unmarshall_set_interface_enabled(	const XrlError&	e, 	XrlArgs*	a, 	SetInterfaceEnabledCB		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);}boolXrlIfmgrV0p1Client::send_set_mac(	const char*	the_tgt, 	const uint32_t&	tid, 	const string&	ifname, 	const Mac&	mac, 	const SetMacCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/set_mac");    x.args().add("tid", tid);    x.args().add("ifname", ifname);    x.args().add("mac", mac);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_set_mac, cb));}/* Unmarshall set_mac */voidXrlIfmgrV0p1Client::unmarshall_set_mac(	const XrlError&	e, 	XrlArgs*	a, 	SetMacCB		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);}boolXrlIfmgrV0p1Client::send_set_mtu(	const char*	the_tgt, 	const uint32_t&	tid, 	const string&	ifname, 	const uint32_t&	mtu, 	const SetMtuCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/set_mtu");    x.args().add("tid", tid);    x.args().add("ifname", ifname);    x.args().add("mtu", mtu);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_set_mtu, cb));}/* Unmarshall set_mtu */voidXrlIfmgrV0p1Client::unmarshall_set_mtu(	const XrlError&	e, 	XrlArgs*	a, 	SetMtuCB		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);}boolXrlIfmgrV0p1Client::send_create_vif(	const char*	the_tgt, 	const uint32_t&	tid, 	const string&	ifname, 	const string&	vif, 	const CreateVifCB&	cb){    Xrl x(the_tgt, "ifmgr/0.1/create_vif");    x.args().add("tid", tid);    x.args().add("ifname", ifname);    x.args().add("vif", vif);    return _sender->send(x, callback(this, &XrlIfmgrV0p1Client::unmarshall_create_vif, cb));}

⌨️ 快捷键说明

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