toboggan

Crates.iotoboggan
lib.rstoboggan
version0.1.3
sourcesrc
created_at2022-09-03 02:01:13.304704
updated_at2022-09-05 20:33:57.403278
descriptionKey/value TCP-based database server and client cli based on the sled embedded database
homepagehttps://github.com/mcaveniathor/toboggan
repositoryhttps://github.com/mcaveniathor/toboggan
max_upload_size
id657692
size47,671
Thor McAvenia (mcaveniathor)

documentation

README

toboggan

Rust Report Card Crates.io docs.rs Crates.io

Description

Toboggan is an RPC-based key/value database client and server system built on Google's tarpc library and the sled embedded database. This crate contains client and server binaries using Bincode serialization over TCP, as well as a library with the traits, boilerplate, stubs, and utilities to integrate the transport and business logic of your choosing with the RPC interface and server functionality provided by the crate.

Features

At time of writing, the following operations are supported, with more to come soon.

  • NewTree

  • Insert

  • Get

  • GetTreeNames

  • GetID (returns a monotonically generated ID)

  • Remove

Installation

cargo install toboggan

Binary Usage

Server

You can view the helptext for the server cli using the command cargo run --bin server -- -h.

Example

The command cargo run --bin server -- -a 10.0.18.135 -p 5050 -d ./db tcp will create/open a database at /db and listen for RPC requests on 10.0.18.135:5050

Client

The client helptext can similarly be viewed with cargo run --bin client -- -h.

Helptext for a specific subcommand can be viewed using cargo run --bin client -- <subcommand> -h

Example

To insert the value "Thor M." into the "my_name" key of the "names" tree of the server above, use the following command: cargo run --bin client -- -a 10.0.18.135 -p 5050 insert -k my_name "Thor M." -t names

Commit count: 30

cargo fmt