As compared with rust-libp2p
, we have managed to close many gaps in release v0.2.0, since Kad-DHT is introduced and swarm is improved. However, there are still a long to-do list for us.
- Tokio runtime support
- TCP reuse port: dialing reuse the port that TCP is listening on
Transport Upgrade async-post processing: post processing accept() and protocol upgrading in parallelMetrics: bandwidth metric counters and report- ReadEx/WriteEx/SplitEx removal: unfortunately they are proved to be a failure
Swarm dialer: dialing multiple Multiaddr in parallel- Event Bus: A pub/sub event subscription system: probably not needed any more
PeerStore serialization: serialization/deserialization methods for peer IDsObserved address change: handling the observed address changes- Swarm identify delta protocol, and certificated peer record
- Swarm filters: Multiaddr, PeerId white/black list
Noise: Noise implementation- TLS
- Quicc
- Pubsub:
flood/random/gossip KAD/DHTmDNS
- NAT port mapping: uPnP or NAT-PMP