
Net::BitTorrent::DHT - Kademlia based Distributed Hash Table

new ( [ARGS] )Creates a Net::BitTorrent::DHT object.
This constructor should not be used directly.

add_node ( { [...] } )Adds a single node to the routing table. Expects a hashref with the following keys:
This is an advanced method and should not (normally) should not be used.
node_id ( )Get the Node ID used to identify this client in the DHT swarm.
nodes ( )Returns a list of nodes from the routing table in a format suitable for handing off to add_node( ) one by one.
as_string ( [ VERBOSE ] )Returns a 'ready to print' dump of the object's data structure.
If called in void context,
the structure is printed to STDERR.
VERBOSE is a boolean value.

In this alpha, there are a number of places where I break away from the specification. These will all be fixed in a future version.

While bandwidth to/from DHT nodes will probably never be limited like other traffic, in the future, it will be taken into account and "drained" from the rate limiter. If there's a burst of DHT traffic, the peer traffic may be limited to avoid the total to exceed the global limit.

I have used a number of references for implementation second opinions:
http://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf

Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/
CPAN ID: SANKO

Copyright (C) 2008-2009 by Sanko Robinson <sanko@cpan.org>
This program is free software; you can redistribute it and/or modify it under the terms of The Artistic License 2.0. See the LICENSE file included with this distribution or http://www.perlfoundation.org/artistic_license_2_0. For clarification, see http://www.perlfoundation.org/artistic_2_0_notes.
When separated from the distribution, all POD documentation is covered by the Creative Commons Attribution-Share Alike 3.0 License. See http://creativecommons.org/licenses/by-sa/3.0/us/legalcode. For clarification, see http://creativecommons.org/licenses/by-sa/3.0/us/.
Neither this module nor the Author is affiliated with BitTorrent, Inc.