- 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)???????????????????????????? \???
您可能关注的文档
最近下载
- 音体美教学常规要求.doc VIP
- (2025)新课标《义务教育数学课程标准(2022年版)》测试题(附含答案) .pdf VIP
- 质量工程师中级培训教程.doc VIP
- 高中英语(北师大版)必修3—单词表.pdf VIP
- Unit 1 Time to Relax (第1课时) Section A 1a- 2d 课件 2026年春人教版英语八年级下册.pptx VIP
- QE质量工程师培训完整版教材.ppt VIP
- 杜曼教育——如何教宝宝学数学.pdf VIP
- 香港小学中文修辞手法练习.pdf VIP
- 2025-2026学年初中数学八年级上册(2024)沪教版(五四制)(2024)教学设计合集.docx
- GNSS接收机抗干扰技术研究.pptx VIP
原创力文档

文档评论(0)