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

📄 recroute.h

📁 chord 源码 http://pdos.csail.mit.edu/chord/
💻 H
字号:
#ifndef _RECROUTE_H_#define _RECROUTE_H_#include "chord.h"#include <recroute_prot.h>#include "route_recchord.h"#include <ihash.h>template<class T>class recroute : public T { private:  bool shave;  int lto;  timecb_t *sweep_cb;  ihash<u_long, route_recchord,    &route_recchord::routeid_, &route_recchord::hlink_> routers;   protected:  recroute (ref<chord> _chord, ref<rpc_manager> _rpcm, ref<location> _l);  ~recroute (void);  void recroute_hop_cb (ptr<recroute_route_arg> nra, ptr<location> p,			vec<chordID> failed,			recroute_route_stat *res,			clnt_stat status);  void recroute_sent_complete_cb (clnt_stat status);  void dispatch (user_args *sbp);  void dorecroute (user_args *sbp, recroute_route_arg *ra);  void dopenult (user_args *sbp, recroute_penult_arg *ra);  void docomplete (user_args *sbp, recroute_complete_arg *ca);  void find_succlist_cb (cbroute_t cb, route_recchord *ri, bool done);  void sweeper ();  void dorecroute_sendpenult (recroute_route_arg *ra,			      ptr<location> nexthop,			      ptr<location> p,			      vec<ptr<location> > cs);  void dorecroute_sendpenult_cb (ptr<recroute_penult_arg> nra,				 ptr<location> p,				 vec<chordID> failed,				 clnt_stat err);  void dorecroute_sendcomplete (recroute_route_arg *ra,				const vec<ptr<location> > cs);  void dorecroute_sendroute (recroute_route_arg *ra, ptr<location> p);    bool recroute_hop_timeout_cb (ptr<recroute_route_arg> nra,				ptr<location> p,				vec<chordID> failed,				chord_node n,				int rexmit_number); public:  static ref<vnode> produce_vnode (ref<chord> _chordnode,				   ref<rpc_manager> _rpcm,				   ref<location> _l);    // Override select routing related methods of vnode  void stats () const;  void find_succlist (const chordID &x, u_long m, cbroute_t cb,		      ptr<chordID> guess);    ptr<route_iterator> produce_iterator (chordID xi);  ptr<route_iterator> produce_iterator (chordID xi,					const rpc_program &uc_prog,					int uc_procno,					ptr<void> uc_args);  route_iterator *produce_iterator_ptr (chordID xi);  route_iterator *produce_iterator_ptr (chordID xi,					const rpc_program &uc_prog,					int uc_procno,					ptr<void> uc_args);};#endif /* _RECROUTE_H_ */

⌨️ 快捷键说明

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