26个版本
0.3.9 | 2024年7月29日 |
---|---|
0.3.8 | 2024年7月8日 |
0.3.7 | 2024年6月13日 |
0.3.0 | 2024年5月24日 |
0.1.2 | 2024年3月21日 |
#3 在 #operating
1,135 每月下载量
在 4 crates 中使用
415KB
7.5K SLoC
服务管理
提供处理服务的实用工具,这些工具主要用于节点管理器。
RPC操作
RpcActions
trait定义了与safenode
交互的当前协议
node_info: Returns information about the node, such as its peer ID and version.
network_info: Retrieves network-related information, such as the peers currently connected to the node.
record_addresses: Provides a list of the node's record addresses.
restart_node: Requests the node to restart.
stop_node: Requests the node to stop its operations.
update_node: Updates the node with provided parameters.
crate的使用者可以针对trait编程,而不是针对RpcClient
实现。
这可以方便进行基于行为的功能测试,例如
use mockall::mock;
use mockall::predicate::*;
mock! {
pub RpcClient {}
#[async_trait]
impl RpcClientInterface for RpcClient {
async fn node_info(&self) -> RpcResult<NodeInfo>;
async fn network_info(&self) -> RpcResult<NetworkInfo>;
async fn record_addresses(&self) -> Result<Vec<RecordAddress>>;
async fn gossipsub_subscribe(&self, topic: &str) -> Result<()>;
async fn gossipsub_unsubscribe(&self, topic: &str) -> Result<()>;
async fn gossipsub_publish(&self, topic: &str, message: &str) -> Result<()>;
async fn node_restart(&self, delay_millis: u64) -> Result<()>;
async fn node_stop(&self, delay_millis: u64) -> Result<()>;
async fn node_update(&self, delay_millis: u64) -> Result<()>;
}
}
依赖项
~37–71MB
~1.5M SLoC