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 + -
显示快捷键?