7 releases

Uses old Rust 2015

0.0.6 Feb 26, 2017
0.0.5 Nov 23, 2016
0.0.4 Jun 11, 2016
0.0.2 May 28, 2016
0.0.0 Dec 24, 2014

#108 in #handler

Apache-2.0/MIT

37KB
831 lines

rust-dht

Build Status

A work-in-progress implementation of Kademlia-based DHT in Rust language. Unlike other implementations this one is concentrated on simplicity and extensibility.

Build

Use cargo tool to build and test.

Status

Currently implemented or have a good progress:

  • Node struct: endpoint address + ID, representing this Node in the system.

  • GenericAPI trait: base trait for all protocol implementations.

  • knodetable::KBucket: k-bucket implementation.

  • knodetable::KNodeTable: node table with k-buckets.

  • service::Handler: handler of DHT requests.

  • Service: main class - DHT service.


lib.rs:

Distributed Hash Table.

The goal of this project is to provide flexible implementation of DHT for different kind of Rust applications. There will be loosely coupled parts:

  1. DHT neighborhood table implementation, will be represented by GenericNodeTable trait and KNodeTable implementation.
  2. Generic DHT logic implementation in Service and service::Handler structures.
  3. Generic bits for implementing protocols in service::Handler structure and protocol module.
  4. (In the future) simple implementations for testing purposes.

Dependencies

~0.7–1MB
~15K SLoC