4 releases

0.1.10 Jun 14, 2022
0.1.9 Jan 12, 2022
0.1.8 Dec 25, 2021
0.1.7 Jun 27, 2021

#2713 in Parser implementations


Used in 2 crates

WTFPL and GPL-3.0-or-later

61KB
1.5K SLoC

Build Tests Coverage Documentation

ZeroNet Protocol Rust Library

Roadmap

  • Implementation covers basic use-cases
  • Make send and receive async
  • Parse addresses
    • IPV4, IPV6
    • OnionV2, OnionV3
    • I2P b32
    • LokiNet
  • Pack and unpack addresses
    • IPV4, IPV6
    • OnionV2, OnionV3
    • I2P
    • LokiNet
  • Support receiving of the streamFile response
  • Add configurable timeouts
  • Add serialization and deserialization tests for all message types used by ZeroNet-py3 and ZeroNet trackers.
  • Provide templates for all standard ZeroNet messages.
  • Write documentation that covers all outwards facing structs, traits and functions.
    • ZeroConnection
    • ZeroMessage, Response, Request
  • Proper Error handling
  • Optimalization
    • Fixing the rmp-serde bug resulting in UnknownLength error will allow us to encode without passing through serde_json first, this should result in a significant performance boost.
    • Benchmark the serialization and deserialization of the intermediary custom type used for the request parameters and response values, currently it uses HashMap, this is highly unlikely to be optimal.
    • Replace serde_json::Number in the custom value so that serde_json can be cut completely from the dependencies when the previous bug is fixed.

Dependencies

~4.5–7MB
~122K SLoC