Crate zookeeper_client

source
Expand description

zookeeper-client is an async Rust client library for Apache ZooKeeper.

§Opinionated API

This library is written from scratch. Its API is pretty different from Java counterpart or even other Rust clients. Some of them are listed here for a glance.

  • No callbacks.
  • No catch-all watcher.
  • StateWatcher tracks session state updates.
  • OneshotWatcher tracks oneshot ZooKeeper node event.
  • PersistentWatcher tracks persistent and recursive persistent ZooKeeper node events.
  • No event type XyzWatchRemoved as Rust has Drop.
  • Most data operations are ordered at future creation time but not polling time.
  • Client::chroot and Client::clone enable session sharing cross multiple different rooted clients.

§Feature flags

  • tls: Toggle TLS support.
  • sasl: Toggle SASL support.
  • sasl-gssapi: Toggle only GSSAPI SASL support. This relies on binding package libgssapi-sys.
  • sasl-digest-md5: Toggle only DIGEST-MD5 SASL support.

§Async runtime support

This library uses asyncs and spawns to spawn asynchronous tasks. It exposes runtime feature flags for handy. Please refer their docs for references.

  • tokio: Toggle support for tokio.
  • smol: Toggle support for smol builtin global executor.
  • async-global-executor: Toggle support for async-global-executor.

Structs§

Enums§