Pike v8.1 release 6

Class Protocols.Bittorrent.DHT

Description

DHT implementation for bittorrent Implemented BEPs*: [X] BEP005 DHT Protocol [ ] BEP032 IPv6 extension for DHT [ ] BEP033 DHT scrape [ ] BEP042 DHT security extensions [ ] BEP043 Read-only DHT nodes [ ] BEP044 Storing arbitrary data in the DHT [ ] BEP045 Multiple-address operation for the Bittorrent DHT

*) See http://bittorrent.org/beps/bep_0000.html for a list of all BEPs


Variable MAX_PEERS_PER_HASH

int Protocols.Bittorrent.DHT.MAX_PEERS_PER_HASH

Description

Maximum number of peers per hash that we store.


Variable PEER_TABLE_MAX_SIZE

int Protocols.Bittorrent.DHT.PEER_TABLE_MAX_SIZE

Description

Maximum number hashes we store data for in this node.


Variable callbacks_by_txid
Variable request_timeouts

mapping(string:mixed) Protocols.Bittorrent.DHT.callbacks_by_txid
mapping(string:mixed) Protocols.Bittorrent.DHT.request_timeouts

Description

Keep track of callbacks by transaction id


Variable command_handlers

mapping(string:function(:void)) Protocols.Bittorrent.DHT.command_handlers

Description

Mapping of query names to handlers. Allows for extensions to be implemented.


Variable is_running

int Protocols.Bittorrent.DHT.is_running

Description

Indicates if the DHT instance is up and running or not.


Variable my_node_id

protected string Protocols.Bittorrent.DHT.my_node_id

Description

Our global ID for this DHT router, expressed as a 20 byte hash.


Variable peers_by_hash

mapping(string:mapping) Protocols.Bittorrent.DHT.peers_by_hash

Description

Peers we know of.


Variable port

Stdio.UDP Protocols.Bittorrent.DHT.port

Description

The UDP port on which we listen for messages.


Method create

Protocols.Bittorrent.DHT Protocols.Bittorrent.DHT(void|string my_node_id)

Description

Create a new DHT instance with an optional predefined node id.