#json-rpc-server #json-rpc #rpc-server #plugin-api #json-rpc-v2

lampo-jsonrpc

提供插件API的Crate,以在Rust中实现插件的可能性

1个不稳定版本

0.0.1-alpha.12023年12月18日

#14#jsonrpc

Apache-2.0

24KB
491

lampo-jsonrpc

描述

最小化且功能齐全的纯异步JSON RPC 2.0服务器实现。

API使用

提供安装项目的说明。例如

let path = "/tmp/tmp.sock";
let server = JSONRPCv2::new(Arc::new(DummyCtx), path).unwrap();
let _ = server.add_rpc("foo", |_: &DummyCtx, request| {
    Ok(serde_json::json!(request))
});
let res = server.add_rpc("secon", |_: &DummyCtx, request| {
    Ok(serde_json::json!(request))
});
assert!(res.is_ok(), "{:?}", res);

let handler = server.handler();
let worker = server.spawn();
let request = Request::<Value> {
    id: Some(0.into()),
    jsonrpc: String::from_str("2.0").unwrap(),
    method: "foo".to_owned(),
    params: serde_json::Value::Array([].to_vec()),
};

// Client-side code
let client_worker = std::thread::spawn(move || {
    // [Add your client-side code here, similar to the example provided]
});

贡献

待办事项

许可证

本项目仅使用GNU通用公共许可证v2.0。更多信息请见LICENSE

依赖关系

~1.4–2.5MB
~50K SLoC