亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xrl_mld6igmp_node.hh

?? MLDv2 support igmpv3 lite
?? HH
?? 第 1 頁 / 共 2 頁
字號:
     *     *  @param vif_name the name of the vif to apply to.     */    XrlCmdError mld6igmp_0_1_reset_vif_query_last_member_interval(	// Input values,	const string&	vif_name);    /**     *  Get the Query Response Interval per interface.     *     *  @param vif_name the name of the vif to apply to.     *     *  @param interval_sec the number of seconds in the interval.     *     *  @param interval_usec the number of microseconds (in addition to     *  interval_sec) in the interval.     */    XrlCmdError mld6igmp_0_1_get_vif_query_response_interval(	// Input values,	const string&	vif_name,	// Output values,	uint32_t&	interval_sec,	uint32_t&	interval_usec);    /**     *  Set the Query Response Interval per interface.     *     *  @param vif_name the name of the vif to apply to.     *     *  @param interval_sec the number of seconds in the interval.     *     *  @param interval_usec the number of microseconds (in addition to     *  interval_sec) in the interval.     */    XrlCmdError mld6igmp_0_1_set_vif_query_response_interval(	// Input values,	const string&	vif_name,	const uint32_t&	interval_sec,	const uint32_t&	interval_usec);    /**     *  Reset the Query Response Interval per interface to its default value.     *     *  @param vif_name the name of the vif to apply to.     */    XrlCmdError mld6igmp_0_1_reset_vif_query_response_interval(	// Input values,	const string&	vif_name);    /**     *  Get the Robustness Variable count per interface.     *     *  @param vif_name the name of the vif to apply to.     *     *  @param robust_count the count value.     */    XrlCmdError mld6igmp_0_1_get_vif_robust_count(	// Input values,	const string&	vif_name,	// Output values,	uint32_t&	robust_count);    /**     *  Set the Robustness Variable count per interface.     *     *  @param vif_name the name of the vif to apply to.     *     *  @param robust_count the count value.     */    XrlCmdError mld6igmp_0_1_set_vif_robust_count(	// Input values,	const string&	vif_name,	const uint32_t&	robust_count);    /**     *  Reset the Robustness Variable count per interface to its default value.     *     *  @param vif_name the name of the vif to apply to.     */    XrlCmdError mld6igmp_0_1_reset_vif_robust_count(	// Input values,	const string&	vif_name);    /**     *  Enable/disable the MLD6IGMP trace log for all operations.     *     *  @param enable if true, then enable the trace log, otherwise disable it.     */    XrlCmdError mld6igmp_0_1_log_trace_all(	// Input values,	const bool&	enable);    /**     *  Add/delete a client protocol in the MLD/IGMP protocol.     *       *  @param xrl_sender_name the XRL name of the originator of this XRL.     *       *  @param protocol_name the name of the protocol to add/delete.     *       *  @param protocol_id the ID of the protocol to add/delete (both sides     *  must agree on the particular values).     *       *  @param vif_name the name of the vif the protocol add/delete to apply     *  to.     *       *  @param vif_index the index of the vif the protocol add/delete to apply     *  to. The added protocol will receive Join/Leave membership information     *  about same-LAN members for the particular vif.     */    XrlCmdError mld6igmp_0_1_add_protocol4(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index);    XrlCmdError mld6igmp_0_1_add_protocol6(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index);    XrlCmdError mld6igmp_0_1_delete_protocol4(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index);    XrlCmdError mld6igmp_0_1_delete_protocol6(	// Input values, 	const string&	xrl_sender_name, 	const string&	protocol_name, 	const uint32_t&	protocol_id, 	const string&	vif_name, 	const uint32_t&	vif_index);    private:    class XrlTaskBase;    const ServiceBase* ifmgr_mirror_service_base() const {	return dynamic_cast<const ServiceBase*>(&_ifmgr);    }    const IfMgrIfTree& ifmgr_iftree() const { return _ifmgr.iftree(); }    /**     * Called when Finder connection is established.     *     * Note that this method overwrites an XrlRouter virtual method.     */    virtual void finder_connect_event();    /**     * Called when Finder disconnect occurs.     *     * Note that this method overwrites an XrlRouter virtual method.     */    virtual void finder_disconnect_event();    //    // Methods to handle the XRL tasks    //    void add_task(XrlTaskBase* xrl_task);    void send_xrl_task();    void pop_xrl_task();    void retry_xrl_task();    void fea_register_startup();    void mfea_register_startup();    void fea_register_shutdown();    void mfea_register_shutdown();    void finder_send_register_unregister_interest_cb(const XrlError& xrl_error);    //    // Protocol node methods    //    int register_receiver(const string& if_name, const string& vif_name,			  uint8_t ip_protocol,			  bool enable_multicast_loopback);    int unregister_receiver(const string& if_name, const string& vif_name,			    uint8_t ip_protocol);    void fea_client_send_register_unregister_receiver_cb(const XrlError& xrl_error);    int join_multicast_group(const string& if_name, const string& vif_name,			     uint8_t ip_protocol, const IPvX& group_address);    int leave_multicast_group(const string& if_name, const string& vif_name,			      uint8_t ip_protocol, const IPvX& group_address);    void fea_client_send_join_leave_multicast_group_cb(const XrlError& xrl_error);    int	proto_send(const string& if_name,		   const string& vif_name,		   const IPvX& src_address,		   const IPvX& dst_address,		   uint8_t ip_protocol,		   int32_t ip_ttl,		   int32_t ip_tos,		   bool ip_router_alert,		   bool ip_internet_control,		   const uint8_t* sndbuf,		   size_t sndlen,		   string& error_msg);    void fea_client_send_protocol_message_cb(const XrlError& xrl_error);        int send_add_membership(const string& dst_module_instance_name,			    xorp_module_id dst_module_id,			    uint32_t vif_index,			    const IPvX& source,			    const IPvX& group);    int send_delete_membership(const string& dst_module_instance_name,			       xorp_module_id dst_module_id,			       uint32_t vif_index,			       const IPvX& source,			       const IPvX& group);    void send_add_delete_membership();    void mld6igmp_client_send_add_delete_membership_cb(const XrlError& xrl_error);        //    // Protocol node CLI methods    //    int add_cli_command_to_cli_manager(const char *command_name,				       const char *command_help,				       bool is_command_cd,				       const char *command_cd_prompt,				       bool is_command_processor);    void cli_manager_client_send_add_cli_command_cb(const XrlError& xrl_error);    int delete_cli_command_from_cli_manager(const char *command_name);    void cli_manager_client_send_delete_cli_command_cb(const XrlError& xrl_error);    int family() const { return (Mld6igmpNode::family()); }    /**     * A base class for handling tasks for sending XRL requests.     */    class XrlTaskBase {    public:	XrlTaskBase(XrlMld6igmpNode& xrl_mld6igmp_node)	    : _xrl_mld6igmp_node(xrl_mld6igmp_node) {}	virtual ~XrlTaskBase() {}	virtual void dispatch() = 0;	virtual const char* operation_name() const = 0;    protected:	XrlMld6igmpNode&	_xrl_mld6igmp_node;    private:    };    /**     * Class for handling the task to register/unregister interest     * in the FEA or MFEA with the Finder.     */    class RegisterUnregisterInterest : public XrlTaskBase {    public:	RegisterUnregisterInterest(XrlMld6igmpNode&	xrl_mld6igmp_node,				   const string&	target_name,				   bool			is_register)	    : XrlTaskBase(xrl_mld6igmp_node),	      _target_name(target_name),	      _is_register(is_register) {}	void		dispatch() {	    _xrl_mld6igmp_node.send_register_unregister_interest();	}	const char*	operation_name() const {	    return ((_is_register)? "register" : "unregister");	}	const string&	target_name() const { return _target_name; }	bool		is_register() const { return _is_register; }    private:	string		_target_name;	bool		_is_register;    };    /**     * Class for handling the task to register/unregister with the FEA     * as a receiver on an interface.     */    class RegisterUnregisterReceiver : public XrlTaskBase {    public:	RegisterUnregisterReceiver(XrlMld6igmpNode&	xrl_mld6igmp_node,				   const string&	if_name,				   const string&	vif_name,				   uint8_t		ip_protocol,				   bool			enable_multicast_loopback,				   bool			is_register)	    : XrlTaskBase(xrl_mld6igmp_node),	      _if_name(if_name),	      _vif_name(vif_name),	      _ip_protocol(ip_protocol),	      _enable_multicast_loopback(enable_multicast_loopback),	      _is_register(is_register) {}	void		dispatch() {	    _xrl_mld6igmp_node.send_register_unregister_receiver();	}	const char*	operation_name() const {	    return ((_is_register)? "register" : "unregister");	}	const string&	if_name() const { return _if_name; }	const string&	vif_name() const { return _vif_name; }	uint8_t		ip_protocol() const { return _ip_protocol; }	bool		enable_multicast_loopback() const {	    return _enable_multicast_loopback;	}	bool		is_register() const { return _is_register; }    private:	string		_if_name;	string		_vif_name;	uint8_t		_ip_protocol;	bool		_enable_multicast_loopback;	bool		_is_register;    };    /**     * Class for handling the task of join/leave multicast group requests     */    class JoinLeaveMulticastGroup : public XrlTaskBase {    public:	JoinLeaveMulticastGroup(XrlMld6igmpNode&	xrl_mld6igmp_node,				const string&		if_name,				const string&		vif_name,				uint8_t			ip_protocol,				const IPvX&		group_address,				bool			is_join)	    : XrlTaskBase(xrl_mld6igmp_node),	      _if_name(if_name),	      _vif_name(vif_name),	      _ip_protocol(ip_protocol),	      _group_address(group_address),	      _is_join(is_join) {}	void		dispatch() {	    _xrl_mld6igmp_node.send_join_leave_multicast_group();	}	const char*	operation_name() const {	    return ((_is_join)? "join" : "leave");	}	const string&	if_name() const { return _if_name; }	const string&	vif_name() const { return _vif_name; }	uint8_t		ip_protocol() const { return _ip_protocol; }	const IPvX&	group_address() const { return _group_address; }	bool		is_join() const { return _is_join; }    private:	string		_if_name;	string		_vif_name;	uint8_t		_ip_protocol;	IPvX		_group_address;	bool		_is_join;    };    /**     * Class for handling the task of sending protocol messages     */    class SendProtocolMessage : public XrlTaskBase {    public:	SendProtocolMessage(XrlMld6igmpNode&	xrl_mld6igmp_node,			    const string&	if_name,			    const string&	vif_name,			    const IPvX&		src_address,			    const IPvX&		dst_address,			    uint8_t		ip_protocol,			    int32_t		ip_ttl,			    int32_t		ip_tos,			    bool		ip_router_alert,			    bool		ip_internet_control,			    const uint8_t*	sndbuf,			    size_t		sndlen)	    : XrlTaskBase(xrl_mld6igmp_node),	      _if_name(if_name),	      _vif_name(vif_name),	      _src_address(src_address),	      _dst_address(dst_address),	      _ip_protocol(ip_protocol),	      _ip_ttl(ip_ttl),	      _ip_tos(ip_tos),	      _ip_router_alert(ip_router_alert),	      _ip_internet_control(ip_internet_control) {	    _payload.resize(sndlen);	    for (size_t i = 0; i < sndlen; i++)		_payload[i] = sndbuf[i];	}	void		dispatch() {	    _xrl_mld6igmp_node.send_protocol_message();	}	const char*	operation_name() const {	    return ("send");	}	const string&	if_name() const { return _if_name; }	const string&	vif_name() const { return _vif_name; }	const IPvX&	src_address() const { return _src_address; }	const IPvX&	dst_address() const { return _dst_address; }	uint8_t		ip_protocol() const { return _ip_protocol; }	int32_t		ip_ttl() const { return _ip_ttl; }	int32_t		ip_tos() const { return _ip_tos; }	bool		ip_router_alert() const { return _ip_router_alert; }	bool		ip_internet_control() const { return _ip_internet_control; }	const vector<uint8_t>& payload() const { return _payload; }    private:	string		_if_name;	string		_vif_name;	IPvX		_src_address;	IPvX		_dst_address;	uint8_t		_ip_protocol;	int32_t		_ip_ttl;	int32_t		_ip_tos;	bool		_ip_router_alert;	bool		_ip_internet_control;	vector<uint8_t>	_payload;    };    /**     * Class for handling the queue of sending Add/Delete membership requests     */    class SendAddDeleteMembership {    public:	SendAddDeleteMembership(const string& dst_module_instance_name,				xorp_module_id dst_module_id,				uint32_t vif_index,				const IPvX& source,				const IPvX& group,				bool is_add)	    : _dst_module_instance_name(dst_module_instance_name),	      _dst_module_id(dst_module_id),	      _vif_index(vif_index),	      _source(source),	      _group(group),	      _is_add(is_add) {}	const char*	operation_name() const {	    return ((_is_add)? "add membership" : "delete membership");	}	const string& dst_module_instance_name() const { return _dst_module_instance_name; }	xorp_module_id dst_module_id() const { return _dst_module_id; }	uint32_t vif_index() const { return _vif_index; }	const IPvX& source() const { return _source; }	const IPvX& group() const { return _group; }	bool is_add() const { return _is_add; }    private:	string		_dst_module_instance_name;	xorp_module_id	_dst_module_id;	uint32_t	_vif_index;	IPvX		_source;	IPvX		_group;	bool		_is_add;    };    EventLoop&			_eventloop;    const string		_finder_target;    const string		_fea_target;    const string		_mfea_target;    IfMgrXrlMirror		_ifmgr;    XrlRawPacket4V0p1Client	_xrl_fea_client4;    XrlRawPacket6V0p1Client	_xrl_fea_client6;    XrlMld6igmpClientV0p1Client	_xrl_mld6igmp_client_client;    XrlCliManagerV0p1Client	_xrl_cli_manager_client;    XrlFinderEventNotifierV0p1Client	_xrl_finder_client;    static const TimeVal	RETRY_TIMEVAL;    bool			_is_finder_alive;    bool			_is_fea_alive;    bool			_is_fea_registered;    bool			_is_mfea_alive;    bool			_is_mfea_registered;    list<XrlTaskBase* >		_xrl_tasks_queue;    XorpTimer			_xrl_tasks_queue_timer;    list<SendAddDeleteMembership> _send_add_delete_membership_queue;    XorpTimer			_send_add_delete_membership_queue_timer;};#endif // __MLD6IGMP_XRL_MLD6IGMP_NODE_HH__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩欧美在线| 亚洲综合激情另类小说区| 国产精品美女久久福利网站| 一区二区三区中文在线观看| 国产一区999| 欧美高清性hdvideosex| 日本一区二区电影| 美日韩一级片在线观看| 99精品视频在线免费观看| 日韩区在线观看| 亚洲精品中文在线影院| 成人18视频在线播放| 精品久久国产字幕高潮| 天堂一区二区在线免费观看| 97se亚洲国产综合自在线观| 久久久噜噜噜久久中文字幕色伊伊 | 欧美激情中文不卡| 青青草原综合久久大伊人精品| 91在线国产福利| 国产精品高潮呻吟| 国产精品一区二区在线播放| 欧美一级午夜免费电影| 午夜欧美视频在线观看| 欧美性做爰猛烈叫床潮| 亚洲欧洲国产日韩| 成人h动漫精品一区二区| 久久综合999| 加勒比av一区二区| 欧美白人最猛性xxxxx69交| 日韩一区欧美二区| 欧美日本一区二区三区| 亚洲一区二区精品视频| 欧美午夜电影在线播放| 亚洲电影第三页| 色综合久久中文综合久久牛| 亚洲视频在线一区| 色综合久久综合中文综合网| 综合色中文字幕| 色哟哟精品一区| 一区二区欧美在线观看| 欧美中文字幕一区| 午夜精品久久久久| 欧美一级生活片| 国产呦精品一区二区三区网站| 久久久www成人免费无遮挡大片| 极品少妇xxxx偷拍精品少妇| 久久免费看少妇高潮| 国产aⅴ精品一区二区三区色成熟| 国产欧美日韩中文久久| 成人免费高清在线观看| 亚洲精品成人a在线观看| 欧美视频一二三区| 免费观看在线综合色| 日韩精品一区二区三区四区视频| 久久66热re国产| 中国av一区二区三区| 在线亚洲免费视频| 日本欧美肥老太交大片| 久久久久久一二三区| 93久久精品日日躁夜夜躁欧美| 亚洲福中文字幕伊人影院| 欧美一区二区三区在| 国产成人在线免费观看| 综合久久给合久久狠狠狠97色| 欧美午夜电影在线播放| 国产真实精品久久二三区| 国产精品国产三级国产aⅴ中文| 欧美亚男人的天堂| 国产精品一区二区久久不卡 | 日韩午夜电影av| 国产精品一区二区久激情瑜伽| 亚洲男人的天堂一区二区| 欧美肥大bbwbbw高潮| 国产成人福利片| 首页国产丝袜综合| 亚洲欧洲av色图| 欧美xxxxxxxxx| 欧美在线观看一区| 国产福利一区二区三区| 婷婷久久综合九色国产成人| 亚洲国产成人一区二区三区| 欧美一区二区在线播放| av一区二区三区四区| 激情文学综合丁香| 亚洲国产视频一区二区| 国产精品麻豆欧美日韩ww| 欧美一区二区三区视频在线观看| 成人丝袜18视频在线观看| 蜜桃av噜噜一区| 亚洲第一电影网| 亚洲天堂成人网| 欧美经典一区二区| 亚洲色图在线视频| 日韩精品一区在线| 久久精品av麻豆的观看方式| 国产精品免费看片| 久久先锋资源网| 欧美日韩亚洲综合| 国产福利一区二区三区视频在线| 亚洲午夜三级在线| 亚洲视频免费观看| 久久天堂av综合合色蜜桃网| 欧美午夜精品一区二区蜜桃| 国产一区 二区 三区一级| 亚洲大片免费看| 国产精品伦一区二区三级视频| 2023国产精华国产精品| 欧美日韩国产影片| 91在线观看一区二区| 国产乱码一区二区三区| 日韩和欧美的一区| 亚洲精选一二三| 亚洲韩国一区二区三区| 中文字幕成人在线观看| 精品成人在线观看| 欧美精品日韩一区| 91精品91久久久中77777| 日本成人在线视频网站| 久久99热99| 日韩专区在线视频| 亚洲尤物视频在线| 成人欧美一区二区三区| 中文字幕第一区第二区| 日韩一区二区三区电影| 日韩亚洲欧美综合| 欧美美女bb生活片| 色婷婷一区二区| 一本到三区不卡视频| 波多野结衣精品在线| 成人午夜av电影| 久久精品国产第一区二区三区| 日韩中文字幕一区二区三区| 亚洲国产综合在线| 亚洲不卡在线观看| 日日夜夜精品视频免费| 亚洲久本草在线中文字幕| 亚洲男同1069视频| 亚洲精品免费播放| 伊人性伊人情综合网| 亚洲在线视频网站| 亚洲午夜久久久久久久久电影网| 一区二区三区四区中文字幕| 2020国产精品| 国产欧美一区在线| 久久嫩草精品久久久精品| 日韩美女视频在线| 久久久99免费| 国产精品美日韩| 悠悠色在线精品| 中文字幕五月欧美| 婷婷综合在线观看| 经典三级一区二区| 国产91丝袜在线播放九色| 成人av网在线| 精品免费99久久| 国产欧美精品一区二区三区四区| 国产精品久久毛片av大全日韩| 成人免费一区二区三区在线观看| 亚洲精选视频免费看| 亚洲成av人片www| 韩国av一区二区三区四区| 粉嫩av亚洲一区二区图片| 色av一区二区| 欧美激情一区二区在线| 亚洲v精品v日韩v欧美v专区| 另类专区欧美蜜桃臀第一页| 成人影视亚洲图片在线| 一本色道久久综合亚洲精品按摩| 911精品国产一区二区在线| 欧美激情中文字幕| 午夜精品一区在线观看| 国内不卡的二区三区中文字幕 | 亚洲午夜精品在线| 日韩精品电影在线| 91黄视频在线观看| 精品国产一区二区三区久久影院 | 中文字幕高清不卡| 午夜精品国产更新| 国产成人无遮挡在线视频| 欧美日韩一区久久| 国产欧美一区二区精品性色| 蜜臀av一区二区| 日本丰满少妇一区二区三区| 日韩欧美在线不卡| 亚洲精品视频在线观看免费| 日韩av高清在线观看| 欧美人狂配大交3d怪物一区| 国产精品网站导航| 久久66热re国产| 欧美无人高清视频在线观看| 久久在线观看免费| 午夜精品久久久久久久久久久 | 欧美国产欧美综合| 美女一区二区久久| 色999日韩国产欧美一区二区| 26uuu欧美| 国产精品影视网| 欧美白人最猛性xxxxx69交| 一区二区成人在线| 成人av电影免费在线播放|