OpenDHT: a C++17 Distributed Hash Table implementation
GPL-3.0 License
Bot releases are hidden (Show)
Published by aberaud over 4 years ago
perftest
for simple single-process benchmarkingdurl
to test the http client stackdht/net: now using exponential backoff and randomized timing for packet re-transmission.
dht: significant performance improvements
dht: reduced memory usage
dht: added "stable, public" node configuration, for long-running nodes with a public IP address. In this mode:
listen
refresh time is increased to 5 min from 30 seconds (which is usually required for potentially NATed nodes to maintain routes)This new mode can be enabled by setting the new configuration field dht::Config::public_stable
to true
,
or with dhtnode
with the new argument flag -P
or --public-stable
proxy: performance improvements, various fixes
dhtnode: better display of durations and plaintext values
Published by aberaud almost 5 years ago
shutdown()
now waits for pending get/put operations to complete before calling the user callbackmake dist
and many make distcheck
issuesSince 2.0.0beta1:
cancelPut
with value argument instead of idpermanent
argument for putSigned
and putEncrypted
Published by aberaud about 5 years ago
Published by aberaud about 5 years ago
bootstrap("host:service")
Published by aberaud over 5 years ago
Published by aberaud over 5 years ago
getShared
returns shared_future
instead of shared_ptr<future>
dht::net::DatagramSocket
. The default implementation is dht::net::UdpSocket
.dht::DhtRunner::run
as part of the context (field dht::DhtRunner::Context::sock
).--certificate
, --privkey
and --privkey-password
).-i
to file with --save-identity
.Published by aberaud over 5 years ago
run()
method allowing to pass custom logger or peer discovery instance on node startupPublished by aberaud over 5 years ago
dht::PeerDiscovery
class instance can now be used to advertise and discover multiple services using the same socket. Services now publish and listen msgpack messages containing service-specific data. A single instance now also handles multiple address families (IPv4, IPv6).<opendht/thread_pool.h>
, use dht::ThreadPool::io()
for blocking I/O operations (large pool) or dht::ThreadPool::computation()
for computations (pool limited to number of CPU cores). Threads are only started when needed. In OpenDHT the pool is currently only used by the proxy server.get
grouped resultsPublished by aberaud over 5 years ago
dht::version()
to retrieve OpenDHT version stringPublished by aberaud over 5 years ago
Published by aberaud over 5 years ago
DhtRunner
: enable it using new configuration options:config.peer_discovery
enables listening for other nodes,config.peer_publish
enables publishing our own node information,dhtnode
: enable it (both publish and discovery) using --peer-discovery
or -D
Published by aberaud over 5 years ago
Published by aberaud almost 6 years ago
Published by aberaud almost 6 years ago
Since 1.7.4:
Published by aberaud about 6 years ago