介绍
RPC 是 Remote Procedure Call(远程过程调用), 用于组件间数据通信
⚡️ 快速开始
唯一对外接口
信令路由(rpc)
use *;
let 信令路由c1 = default;
let 信令路由c2 = 信令路由c1.clone;
let 结果 = 信令路由c1.pool异步任务_block阻塞完成;
println!;
//---- 测试 stdout ----
Ok
🛸 可扩展
demo代码 https://docs.rs/crate/lwleen-rpc/latest/source/src/mod_demo.rs
- 使用过程宏
gen_特征_derive生成特征代码 (rust孤儿规则) - 新建
信令表 - 使用宏
impl信令特征!()为信令表实现信令特征, 即执行函数
use *;
// 1.第一步
// 2.第二步
//可选特征
impl信令特征!; // 所有`信令表`必须实现此特征
// 3.第三步
async
| 说明 | |
|---|---|
#[gen_特征_derive(_)] |
生成特征代码 |
core发布信令任务!() |
生成一个任务Task |
impl信令特征!() |
为信令表实现特征 |
anyhow_Result |
anyhow::Result 的别名 |
Box信令特征 |
Box<dyn 信令特征> 的别名 |
使用参考
应用库https://crates.io/crates/lwleen
🌈 自定义服务端
use async_std;
let 信令路由c1 = new; // 用于自定义服务端
let 信令路由c2 = 信令路由c1.clone;
spawn;
✅ 基准测试(代码性能)
Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz
demo范例_连通测试 block阻塞完成
time:
Found 12 outliers among 100
5 high mild
7 high severe
demo范例_连通测试 异步
time:
Found 10 outliers among 100
2 high mild
8 high severe
demo范例_连通测试 异步
time:
Found 16 outliers among 100
11 high mild
5 high severe
demo范例_连通测试 异步
time:
Found 12 outliers among 100
1 low severe
1 low mild
5 high mild
5 high severe