Linux下RC调用编程.docVIP

  • 5
  • 0
  • 约1.02万字
  • 约 9页
  • 2016-10-18 发布于贵州
  • 举报
Linux下RC调用编程

Linux下RPC调用编程 作者: ???? 来源:/linux_coder???? 发表时间:2007-05-01???? 浏览次数: 26823 ???? 字号:大??中??小 中国源码网内相关主题链接 ? Linux 2.6内核中新的锁机制--RCU ? XML-RPC in Python简介 ? Linux起源与GNU简介 ? linux设置环境变量的方法 ? c++文件调用c头文件注意事项 ? linux下使用minicom的几个命令 ? linux内核编译问题 ? 递归函数的调用过程 linux rpc在内核中实现,源代码位置是net/sunrpc/ sunrpc不仅实现了rpc的调度,同时将rpc请求构造解析发送接受的通用部分进行了提取。要定义自己的rpc调用仅需要实现那些非通用的部分,下面简要介绍怎么实现一个自己的rpc客户端(2.4内核) 主要数据结构介绍 1。rpc请求 /* ?* This is the RPC buffer ?*/ struct rpc_iov { ?? ?struct iovec?? ??? ?io_vec[MAX_IOVEC]; //使用10个 iovec 可以操作分散的buffer ?? ?unsigned int?? ??? ?io_nr; ?? ?unsigned int?? ??? ?io_len; }; /* ?* This describes a complete RPC request ?*/ struct rpc_rqst { ?? ?/* ?? ? * This is the user-visible part ?? ? */ ?? ?struct rpc_xprt *?? ?rq_xprt;?? ??? ?/* RPC client */ ?? ?struct rpc_timeout?? ?rq_timeout;?? ??? ?/* timeout parms */ ?? ?struct rpc_iov?? ??? ?rq_snd_buf;?? ??? ?/* send buffer 发送缓冲区*/ ?? ?struct rpc_iov?? ??? ?rq_rcv_buf;?? ??? ?/* recv buffer 接受缓冲区*/ ?? ?/* ?? ? * This is the private part ?? ? */ ?? ?struct rpc_task *?? ?rq_task;?? ?/* RPC task data */ ?? ?__u32?? ??? ??? ?rq_xid;?? ??? ?/* request XID */ ?? ?struct rpc_rqst *?? ?rq_next;?? ?/* free list */ ?? ?volatile unsigned char?? ?rq_received : 1;/* receive completed */ ?? ?/* ?? ? * For authentication (e.g. auth_des) ?? ? */ ?? ?u32?? ??? ??? ?rq_creddata[2]; ?? ? ?? ?/* ?? ? * Partial send handling ?? ? */ ?? ? ?? ?u32?? ??? ??? ?rq_bytes_sent;?? ?/* Bytes we have sent */ #ifdef RPC_PROFILE ?? ?unsigned long?? ??? ?rq_xtime;?? ?/* when transmitted */ #endif }; #define rq_svec?? ??? ??? ?rq_snd_buf.io_vec #define rq_snr?? ??? ??? ?rq_snd_buf.io_nr #define rq_slen?? ??? ??? ?rq_snd_buf.io_len #define rq_rvec?? ??? ??? ?rq_rcv_buf.io_vec #define rq_rnr?? ??? ??? ?rq_rcv_buf.io_nr #define rq_rlen?? ??? ??? ?rq_rcv_buf.io_len 流程介绍 1。注册自己的rpc调用 #ifndef MAX #define MAX(a, b)????? (((a) (b))? (a) : (b)) #endif #define PROC(proc, argtype, restype, timer)???????????????????????????? \ ???

文档评论(0)

1亿VIP精品文档

相关文档