2个版本

0.1.1 2022年4月10日
0.1.0 2022年4月3日

#18 in #configure

MIT 许可证

41KB
645

rsvici

rsvici 是一个客户端库,用于通过 VICI 协议配置、控制和监控 IKE 守护进程 charon。所有功能都在 Tokio 运行时之上实现,以异步方式与 charon 交互。

依赖关系

[dependencies]
rsvici = "0.1"

基本用法

  1. 请参阅 客户端发起的命令服务器发出的事件
  2. 定义请求和响应的结构体。
  3. 通过 Unix 套接字或 TCP 连接连接到 IKE 守护进程。
use std::error::Error;

use serde::Deserialize;

#[derive(Debug, Deserialize)]
struct Version {
    daemon: String,
    version: String,
    sysname: String,
    release: String,
    machine: String,
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let mut client = rsvici::unix::connect("/run/charon.vici").await?;

    let version: Version = client.request("version", ()).await?;
    println!("Version: {:#?}", version);

    Ok(())
}

序列化/反序列化提示

序列化/反序列化实现具有特定于 VICI 协议的行为

  • bool 值序列化为或反序列化为 "yes""no"
  • 基于零索引的节序列化为或反序列化为 Vec<T>

依赖关系

~4–16MB
~154K SLoC