Crate buruma

Source
Expand description

buruma 是一个使用纯 Rust 编写的 ZooKeeper 异步客户端,基本实现了 Java 版官方 客户端的功能

§引入依赖

[dependencies.buruma]
version = "*"

§基本操作

buruma 支持 low-level 的基本接口以及更高级的 high-level 的高级接口和一些在分布式环境下的工具在 recipe 模块下

§简单示例

extern crate buruma;
use buruma::ZooKeeper;
use buruma::ZKResult;
use std::time::Duration;
use buruma::CreateMode;
use buruma::ACL;

#[tokio::main]
async fn main() -> ZKResult<()> {
    let mut zk = ZooKeeper::new("127.0.0.1:2181", Duration::from_secs(5)).await.unwrap();
    let basic_path = "/buruma";
    // 创建节点
    let path = zk
       .create(basic_path, Some("buruma".as_bytes()), ACL::world_acl(), CreateMode::Persistent)
       .await
       .unwrap();
    // 查询节点
    let result = zk.get(basic_path, None).await.unwrap();
    // 设置节点数据
    let stat = zk.set(basic_path, "kaixinbaba".as_bytes()).await.unwrap();
    // 删除节点
    zk.delete(basic_path);
    Ok(())     
}

Structs§

ACL
ZooKeeper 权限对象
Stat
ZK 节点统计数据
WatchedEvent
ZooKeeper 回调通知对象
ZKError
ZooKeeper
整个模块的 API 入口对象

Enums§

AddWatchMode
CreateMode
创建的节点类型
EventType
回调的事件类型
KeeperState
服务端的状态
Scheme
ZK 内置的 3 种 scheme 第 4 种 Super 其实就是特殊的 Digest
States

Traits§

Watcher
事件回调 trait,实现该 trait 即可自定义处理 ZooKeeper 回调通知

Type Aliases§

ZKResult