Mainline
WIP mainline rust implementation.
For the foreseeable future, this library is limited to the scope of read-only DHT clients.
- BEP0005 basic
- Ping
- Request
- Response
- Find node
- Request
- Response
- query (incrementally get closer nodes)
- Announce/Get peers
- Get
- Put
- Ping
- BEP0044 arbitrary storage
- Mutable data
- Get
- Put
- Immutable data
- Get
- Put
- Mutable data
- BEP0043 read-only
- Does not handle incoming requests if read-only
- Inform other nodes that this node is read-only
- Does not add read-only nodes to local routing tables
- Features for long living clients
- API for storing and load routing table between sessions.
- Refresh nodes in the local rounting table frequently enough
- Control number of concurrent udp requests
- Refresh cached queries to keep closest nodes fresh, skipping get before put
- Backoff while republishing.
- BEP0042 security extension
- Features for server side nodes
- Respond with relevant errors.
- Egress rate limits
- Ip rate limits
- Error responses