route.c

来自「基于DHT的对等协议」· C语言 代码 · 共 46 行

C
46
字号
#include "arpc.h"#include "chord.h"#include "route.h"#include <misc_utils.h>#include <location.h>#include <locationtable.h>voidroute_iterator::print (){  for (unsigned i = 0; i < search_path.size (); i++) {    warnx << search_path[i]->id () << "\n";  }}char *route_iterator::marshall_upcall_args (rpc_program *prog, 				      int uc_procno,				      ptr<void> uc_args,				      int *upcall_args_len){  xdrproc_t inproc = prog->tbl[uc_procno].xdr_arg;  xdrsuio x (XDR_ENCODE);  if ((!inproc) || (!inproc (x.xdrp (), uc_args)))     return NULL;    *upcall_args_len = x.uio ()->resid ();  return suio_flatten (x.uio ());}boolroute_iterator::unmarshall_upcall_res (rpc_program *prog, 				       int uc_procno, 				       void *upcall_res,				       int upcall_res_len,				       void *dest){  xdrmem x ((char *)upcall_res, upcall_res_len, XDR_DECODE);  xdrproc_t proc = prog->tbl[uc_procno].xdr_res;  assert (proc);  if (!proc (x.xdrp (), dest))     return true;  return false;}

⌨️ 快捷键说明

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