⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socket_server_base.cc

📁 xorp源码hg
💻 CC
📖 第 1 页 / 共 4 页
字号:
	XrlCmdError e = socket6_0_1_send_with_flags(	    xa_inputs.get_string("sockid"),	    xa_inputs.get_binary("data"),	    xa_inputs.get_bool("out_of_band"),	    xa_inputs.get_bool("end_of_record"),	    xa_inputs.get_bool("end_of_file"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "socket6/0.1/send_with_flags", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlSocketServerTargetBase::handle_socket6_0_1_send_to(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 4) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(4), XORP_UINT_CAST(xa_inputs.size()), "socket6/0.1/send_to");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = socket6_0_1_send_to(	    xa_inputs.get_string("sockid"),	    xa_inputs.get_ipv6("remote_addr"),	    xa_inputs.get_uint32("remote_port"),	    xa_inputs.get_binary("data"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "socket6/0.1/send_to", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlSocketServerTargetBase::handle_socket6_0_1_send_to_with_flags(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 7) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(7), XORP_UINT_CAST(xa_inputs.size()), "socket6/0.1/send_to_with_flags");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = socket6_0_1_send_to_with_flags(	    xa_inputs.get_string("sockid"),	    xa_inputs.get_ipv6("remote_addr"),	    xa_inputs.get_uint32("remote_port"),	    xa_inputs.get_binary("data"),	    xa_inputs.get_bool("out_of_band"),	    xa_inputs.get_bool("end_of_record"),	    xa_inputs.get_bool("end_of_file"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "socket6/0.1/send_to_with_flags", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlSocketServerTargetBase::handle_socket6_0_1_send_from_multicast_if(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 5) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(5), XORP_UINT_CAST(xa_inputs.size()), "socket6/0.1/send_from_multicast_if");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = socket6_0_1_send_from_multicast_if(	    xa_inputs.get_string("sockid"),	    xa_inputs.get_ipv6("group_addr"),	    xa_inputs.get_uint32("group_port"),	    xa_inputs.get_ipv6("ifaddr"),	    xa_inputs.get_binary("data"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "socket6/0.1/send_from_multicast_if", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlSocketServerTargetBase::handle_socket6_0_1_set_socket_option(const XrlArgs& xa_inputs, XrlArgs* /* pxa_outputs */){    if (xa_inputs.size() != 3) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(3), XORP_UINT_CAST(xa_inputs.size()), "socket6/0.1/set_socket_option");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    try {	XrlCmdError e = socket6_0_1_set_socket_option(	    xa_inputs.get_string("sockid"),	    xa_inputs.get_string("optname"),	    xa_inputs.get_uint32("optval"));	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "socket6/0.1/set_socket_option", e.str().c_str());	    return e;        }    } catch (const XrlArgs::XrlAtomNotFound& e) {	XLOG_ERROR("Argument not found");	return XrlCmdError::BAD_ARGS();    }    return XrlCmdError::OKAY();}const XrlCmdErrorXrlSocketServerTargetBase::handle_socket6_0_1_get_socket_option(const XrlArgs& xa_inputs, XrlArgs* pxa_outputs){    if (xa_inputs.size() != 2) {	XLOG_ERROR("Wrong number of arguments (%u != %u) handling %s",            XORP_UINT_CAST(2), XORP_UINT_CAST(xa_inputs.size()), "socket6/0.1/get_socket_option");	return XrlCmdError::BAD_ARGS();    }    if (pxa_outputs == 0) {	XLOG_FATAL("Return list empty");	return XrlCmdError::BAD_ARGS();    }    /* Return value declarations */    uint32_t optval;    try {	XrlCmdError e = socket6_0_1_get_socket_option(	    xa_inputs.get_string("sockid"),	    xa_inputs.get_string("optname"),	    optval);	if (e != XrlCmdError::OKAY()) {	    XLOG_WARNING("Handling method for %s failed: %s",            		 "socket6/0.1/get_socket_option", 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("optval", optval);    } catch (const XrlArgs::XrlAtomFound& ) {	XLOG_FATAL("Duplicate atom name"); /* XXX Should never happen */    }    return XrlCmdError::OKAY();}voidXrlSocketServerTargetBase::add_handlers(){	if (_cmds->add_handler("common/0.1/get_target_name",	    callback(this, &XrlSocketServerTargetBase::handle_common_0_1_get_target_name)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "common/0.1/get_target_name");	}	if (_cmds->add_handler("common/0.1/get_version",	    callback(this, &XrlSocketServerTargetBase::handle_common_0_1_get_version)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "common/0.1/get_version");	}	if (_cmds->add_handler("common/0.1/get_status",	    callback(this, &XrlSocketServerTargetBase::handle_common_0_1_get_status)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "common/0.1/get_status");	}	if (_cmds->add_handler("common/0.1/shutdown",	    callback(this, &XrlSocketServerTargetBase::handle_common_0_1_shutdown)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "common/0.1/shutdown");	}	if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_birth",	    callback(this, &XrlSocketServerTargetBase::handle_finder_event_observer_0_1_xrl_target_birth)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "finder_event_observer/0.1/xrl_target_birth");	}	if (_cmds->add_handler("finder_event_observer/0.1/xrl_target_death",	    callback(this, &XrlSocketServerTargetBase::handle_finder_event_observer_0_1_xrl_target_death)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "finder_event_observer/0.1/xrl_target_death");	}	if (_cmds->add_handler("socket4/0.1/tcp_open_and_bind",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_tcp_open_and_bind)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/tcp_open_and_bind");	}	if (_cmds->add_handler("socket4/0.1/udp_open_and_bind",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_udp_open_and_bind)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/udp_open_and_bind");	}	if (_cmds->add_handler("socket4/0.1/udp_open_bind_join",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_udp_open_bind_join)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/udp_open_bind_join");	}	if (_cmds->add_handler("socket4/0.1/tcp_open_bind_connect",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_tcp_open_bind_connect)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/tcp_open_bind_connect");	}	if (_cmds->add_handler("socket4/0.1/udp_open_bind_connect",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_udp_open_bind_connect)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/udp_open_bind_connect");	}	if (_cmds->add_handler("socket4/0.1/udp_join_group",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_udp_join_group)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/udp_join_group");	}	if (_cmds->add_handler("socket4/0.1/udp_leave_group",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_udp_leave_group)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/udp_leave_group");	}	if (_cmds->add_handler("socket4/0.1/close",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_close)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/close");	}	if (_cmds->add_handler("socket4/0.1/tcp_listen",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_tcp_listen)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/tcp_listen");	}	if (_cmds->add_handler("socket4/0.1/send",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_send)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/send");	}	if (_cmds->add_handler("socket4/0.1/send_with_flags",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_send_with_flags)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/send_with_flags");	}	if (_cmds->add_handler("socket4/0.1/send_to",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_send_to)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/send_to");	}	if (_cmds->add_handler("socket4/0.1/send_to_with_flags",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_send_to_with_flags)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/send_to_with_flags");	}	if (_cmds->add_handler("socket4/0.1/send_from_multicast_if",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_send_from_multicast_if)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/send_from_multicast_if");	}	if (_cmds->add_handler("socket4/0.1/set_socket_option",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_set_socket_option)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/set_socket_option");	}	if (_cmds->add_handler("socket4/0.1/get_socket_option",	    callback(this, &XrlSocketServerTargetBase::handle_socket4_0_1_get_socket_option)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket4/0.1/get_socket_option");	}	if (_cmds->add_handler("socket6/0.1/tcp_open_and_bind",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_tcp_open_and_bind)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/tcp_open_and_bind");	}	if (_cmds->add_handler("socket6/0.1/udp_open_and_bind",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_udp_open_and_bind)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/udp_open_and_bind");	}	if (_cmds->add_handler("socket6/0.1/udp_open_bind_join",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_udp_open_bind_join)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/udp_open_bind_join");	}	if (_cmds->add_handler("socket6/0.1/tcp_open_bind_connect",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_tcp_open_bind_connect)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/tcp_open_bind_connect");	}	if (_cmds->add_handler("socket6/0.1/udp_open_bind_connect",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_udp_open_bind_connect)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/udp_open_bind_connect");	}	if (_cmds->add_handler("socket6/0.1/udp_join_group",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_udp_join_group)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/udp_join_group");	}	if (_cmds->add_handler("socket6/0.1/udp_leave_group",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_udp_leave_group)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/udp_leave_group");	}	if (_cmds->add_handler("socket6/0.1/close",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_close)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/close");	}	if (_cmds->add_handler("socket6/0.1/tcp_listen",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_tcp_listen)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/tcp_listen");	}	if (_cmds->add_handler("socket6/0.1/send",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_send)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/send");	}	if (_cmds->add_handler("socket6/0.1/send_with_flags",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_send_with_flags)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/send_with_flags");	}	if (_cmds->add_handler("socket6/0.1/send_to",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_send_to)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/send_to");	}	if (_cmds->add_handler("socket6/0.1/send_to_with_flags",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_send_to_with_flags)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/send_to_with_flags");	}	if (_cmds->add_handler("socket6/0.1/send_from_multicast_if",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_send_from_multicast_if)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/send_from_multicast_if");	}	if (_cmds->add_handler("socket6/0.1/set_socket_option",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_set_socket_option)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/set_socket_option");	}	if (_cmds->add_handler("socket6/0.1/get_socket_option",	    callback(this, &XrlSocketServerTargetBase::handle_socket6_0_1_get_socket_option)) == false) {	    XLOG_ERROR("Failed to xrl handler finder://%s/%s", "socket_server", "socket6/0.1/get_socket_option");	}	_cmds->finalize();}voidXrlSocketServerTargetBase::remove_handlers(){	_cmds->remove_handler("common/0.1/get_target_name");	_cmds->remove_handler("common/0.1/get_version");	_cmds->remove_handler("common/0.1/get_status");	_cmds->remove_handler("common/0.1/shutdown");	_cmds->remove_handler("finder_event_observer/0.1/xrl_target_birth");	_cmds->remove_handler("finder_event_observer/0.1/xrl_target_death");	_cmds->remove_handler("socket4/0.1/tcp_open_and_bind");	_cmds->remove_handler("socket4/0.1/udp_open_and_bind");	_cmds->remove_handler("socket4/0.1/udp_open_bind_join");	_cmds->remove_handler("socket4/0.1/tcp_open_bind_connect");	_cmds->remove_handler("socket4/0.1/udp_open_bind_connect");	_cmds->remove_handler("socket4/0.1/udp_join_group");	_cmds->remove_handler("socket4/0.1/udp_leave_group");	_cmds->remove_handler("socket4/0.1/close");	_cmds->remove_handler("socket4/0.1/tcp_listen");	_cmds->remove_handler("socket4/0.1/send");	_cmds->remove_handler("socket4/0.1/send_with_flags");	_cmds->remove_handler("socket4/0.1/send_to");	_cmds->remove_handler("socket4/0.1/send_to_with_flags");	_cmds->remove_handler("socket4/0.1/send_from_multicast_if");	_cmds->remove_handler("socket4/0.1/set_socket_option");	_cmds->remove_handler("socket4/0.1/get_socket_option");	_cmds->remove_handler("socket6/0.1/tcp_open_and_bind");	_cmds->remove_handler("socket6/0.1/udp_open_and_bind");	_cmds->remove_handler("socket6/0.1/udp_open_bind_join");	_cmds->remove_handler("socket6/0.1/tcp_open_bind_connect");	_cmds->remove_handler("socket6/0.1/udp_open_bind_connect");	_cmds->remove_handler("socket6/0.1/udp_join_group");	_cmds->remove_handler("socket6/0.1/udp_leave_group");	_cmds->remove_handler("socket6/0.1/close");	_cmds->remove_handler("socket6/0.1/tcp_listen");	_cmds->remove_handler("socket6/0.1/send");	_cmds->remove_handler("socket6/0.1/send_with_flags");	_cmds->remove_handler("socket6/0.1/send_to");	_cmds->remove_handler("socket6/0.1/send_to_with_flags");	_cmds->remove_handler("socket6/0.1/send_from_multicast_if");	_cmds->remove_handler("socket6/0.1/set_socket_option");	_cmds->remove_handler("socket6/0.1/get_socket_option");}

⌨️ 快捷键说明

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