rcfe 0.1.2

An asynchronous etcd v3 client library for Rust built on gRPC.
Documentation
# RCFE - Rust Client for ETCD V3.

RCFE is a Rust client library for interacting with ETCD V3, a distributed key-value store that provides a reliable way to store data across a cluster of machines. This library aims to provide a simple and efficient interface for Rust developers to work with ETCD.

The name "RCFE" stands for "Rust Client for ETCD".

> [!WARNING]
> This project is still in its early stages of development. APIs may change without notice. Use at your own risk.

## Features

- [X] Async/Await support using Tokio
- [ ] Basic KV operations (get, put, delete, transactions)
   - [X] Range Get
   - [X] Put
   - [X] Delete
   - [ ] Transactions
   - [ ] Compact
- [ ] Lease management
  - [ ] Grant lease
  - [ ] Revoke lease
  - [ ] Keep-alive lease
- [ ] Watch functionality
- [ ] Authentication support
- [ ] TLS support
- [ ] Comprehensive error handling
- [ ] Documentation and examples
## Usage

Add the following to your `Cargo.toml`:

```toml
[dependencies]
rcfe = "<version>"
```

Replace `<version>` with the latest version of RCFE.

Or use the following command:

```bash
cargo add rcfe
```

Here is a simple example of how to use RCFE to connect to an ETCD server and perform a basic key-value operation:

```rust
use rcfe::{ClientFactory, DefaultClient, Error};

#[tokio::main]
async fn main() -> Result<(), Error> {
  let client_options = rcfe::ClientOptions::builder()
          .endpoints(vec!["http://localhost:2379"])
          .build();

  let client = rcfe::DefaultClientFactory::new().create(client_options).await?;
  
  // Get the KV client
  let mut kv_client = client.kv_client();
  
  // Get a value by key
  let response = kv_client.get(ByteSequence::from("greeting")).await?;
  
  println!("Received response: {:?}", response);
  
  Ok(())
}
```