rib_base.cc

来自「BCAST Implementation for NS2」· CC 代码 · 共 1,522 行 · 第 1/4 页

CC
1,522
字号
	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    bool resolves;    IPv6 base_addr;    uint32_t prefix_len;    uint32_t real_prefix_len;    IPv6 nexthop;    uint32_t metric;    try {	XrlCmdError e = rib_0_1_register_interest6(	    xa_inputs.get_string("target"),	    xa_inputs.get_ipv6("addr"),	    resolves,	    base_addr,	    prefix_len,	    real_prefix_len,	    nexthop,	    metric);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for rib/0.1/register_interest6 failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("resolves", resolves);	pxa_outputs->add("base_addr", base_addr);	pxa_outputs->add("prefix_len", prefix_len);	pxa_outputs->add("real_prefix_len", real_prefix_len);	pxa_outputs->add("nexthop", nexthop);	pxa_outputs->add("metric", metric);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_rib_0_1_deregister_interest6(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != 3) handling rib/0.1/deregister_interest6",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = rib_0_1_deregister_interest6(	    xa_inputs.get_string("target"),	    xa_inputs.get_ipv6("addr"),	    xa_inputs.get_uint32("prefix_len"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for rib/0.1/deregister_interest6 failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_fea_ifmgr_client_0_1_interface_update(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling fea_ifmgr_client/0.1/interface_update",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fea_ifmgr_client_0_1_interface_update(	    xa_inputs.get_string("ifname"),	    xa_inputs.get_uint32("event"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fea_ifmgr_client/0.1/interface_update failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_fea_ifmgr_client_0_1_vif_update(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != 3) handling fea_ifmgr_client/0.1/vif_update",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fea_ifmgr_client_0_1_vif_update(	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_uint32("event"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fea_ifmgr_client/0.1/vif_update failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_fea_ifmgr_client_0_1_vifaddr4_update(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 4) {	XLOG_ERROR("Wrong number of arguments (%u != 4) handling fea_ifmgr_client/0.1/vifaddr4_update",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fea_ifmgr_client_0_1_vifaddr4_update(	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_ipv4("addr"),	    xa_inputs.get_uint32("event"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fea_ifmgr_client/0.1/vifaddr4_update failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_fea_ifmgr_client_0_1_vifaddr6_update(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 4) {	XLOG_ERROR("Wrong number of arguments (%u != 4) handling fea_ifmgr_client/0.1/vifaddr6_update",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = fea_ifmgr_client_0_1_vifaddr6_update(	    xa_inputs.get_string("ifname"),	    xa_inputs.get_string("vifname"),	    xa_inputs.get_ipv6("addr"),	    xa_inputs.get_uint32("event"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for fea_ifmgr_client/0.1/vifaddr6_update failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_finder_event_observer_0_1_xrl_target_birth(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling finder_event_observer/0.1/xrl_target_birth",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = finder_event_observer_0_1_xrl_target_birth(	    xa_inputs.get_string("target_class"),	    xa_inputs.get_string("target_instance"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for finder_event_observer/0.1/xrl_target_birth failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_finder_event_observer_0_1_xrl_target_death(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != 2) handling finder_event_observer/0.1/xrl_target_death",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = finder_event_observer_0_1_xrl_target_death(	    xa_inputs.get_string("target_class"),	    xa_inputs.get_string("target_instance"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for finder_event_observer/0.1/xrl_target_death failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_common_0_1_get_target_name(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0) handling common/0.1/get_target_name",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    string name;    try {	XrlCmdError e = common_0_1_get_target_name(	    name);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for common/0.1/get_target_name failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("name", name);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_common_0_1_get_version(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0) handling common/0.1/get_version",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    string version;    try {	XrlCmdError e = common_0_1_get_version(	    version);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for common/0.1/get_version failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("version", version);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_common_0_1_get_status(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0) handling common/0.1/get_status",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    uint32_t status;    string reason;    try {	XrlCmdError e = common_0_1_get_status(	    status,	    reason);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for common/0.1/get_status failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    /* Marshall return values */    try {	pxa_outputs->add("status", status);	pxa_outputs->add("reason", reason);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlRibTargetBase::handle_common_0_1_shutdown(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 0) {	XLOG_ERROR("Wrong number of arguments (%u != 0) handling common/0.1/shutdown",            (uint32_t)xa_inputs.size());	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = common_0_1_shutdown();	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for common/0.1/shutdown failed: %s",            		 e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}

⌨️ 快捷键说明

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