#![cfg_attr(docsrs, feature(doc_cfg))]
mod client;
mod error;
mod rpc;
pub use crate::client::{Client, ConnectOptions};
pub use crate::error::Error;
pub use crate::rpc::auth::{
AuthClient, AuthDisableResponse, AuthEnableResponse, Permission, PermissionType,
RoleAddResponse, RoleDeleteResponse, RoleGetResponse, RoleGrantPermissionResponse,
RoleListResponse, RoleRevokePermissionOptions, RoleRevokePermissionResponse, UserAddOptions,
UserAddResponse, UserChangePasswordResponse, UserDeleteResponse, UserGetResponse,
UserGrantRoleResponse, UserListResponse, UserRevokeRoleResponse,
};
pub use crate::rpc::cluster::{
ClusterClient, Member, MemberAddOptions, MemberAddResponse, MemberListResponse,
MemberPromoteResponse, MemberRemoveResponse, MemberUpdateResponse,
};
pub use crate::rpc::election::{
CampaignResponse, ElectionClient, LeaderKey, LeaderResponse, ObserveStream, ProclaimOptions,
ProclaimResponse, ResignOptions, ResignResponse,
};
pub use crate::rpc::kv::{
CompactionOptions, CompactionResponse, Compare, CompareOp, DeleteOptions, DeleteResponse,
GetOptions, GetResponse, KvClient, PutOptions, PutResponse, SortOrder, SortTarget, Txn, TxnOp,
TxnOpResponse, TxnResponse,
};
pub use crate::rpc::lease::{
LeaseClient, LeaseGrantOptions, LeaseGrantResponse, LeaseKeepAliveResponse,
LeaseKeepAliveStream, LeaseKeeper, LeaseLeasesResponse, LeaseRevokeResponse, LeaseStatus,
LeaseTimeToLiveOptions, LeaseTimeToLiveResponse,
};
pub use crate::rpc::lock::{LockClient, LockOptions, LockResponse, UnlockResponse};
pub use crate::rpc::maintenance::{
AlarmAction, AlarmMember, AlarmOptions, AlarmResponse, AlarmType, DefragmentResponse,
HashKvResponse, HashResponse, MaintenanceClient, MoveLeaderResponse, SnapshotResponse,
SnapshotStreaming, StatusResponse,
};
pub use crate::rpc::watch::{
Event, EventType, WatchClient, WatchFilterType, WatchOptions, WatchResponse, WatchStream,
Watcher,
};
pub use crate::rpc::{KeyValue, ResponseHeader};
#[cfg(feature = "tls")]
#[cfg_attr(docsrs, doc(cfg(feature = "tls")))]
pub use tonic::transport::{Certificate, ClientTlsConfig as TlsOptions, Identity};