[][src]Crate agilulf

A simple but fast KV database (like LevelDB)

This crate provide an abstraction layer of AsyncDatabase. User can select which database to use easily. Any struct implements AsyncDatabase trait can construct a TCP server.

It actually also provides some implementation of it:

  • Database stores data as LSM structure in disk.

  • MemDatabase uses a lock-free skiplist to store data in Memory. Note: with the increasing of the data size, it will become slower and slower.

TCP Server is built with romio and futures-preview. It spawns every connected tcp stream on a ThreadPool.

Structs

Database

A Database with LevelDB algorithm. (Though the compaction of sstable is not implemented yet)

DatabaseBuilder

Database factory, which can be used in order to configure the properties of a new database.

MemDatabase

A simple RAM only database with skiplist as kernel.

Server

A simple TCP server constructed by a foreign database with the help of agilulf_protocol

Traits

AsyncDatabase

Abstraction layer for a AsyncDatabase. Every method return a Future.

SyncDatabase

Abstraction layer for a SyncDatabase. Every method should return directly.