Closed
Description
Reading and writing on inbound/outbound streams in libp2p-kad
is implemented via hand written procedural / sequential state machines. This logic can be simplified by using Rust's async-await.
Manual state machines in libp2p-kad
:
rust-libp2p/protocols/kad/src/handler.rs
Lines 140 to 163 in 43fdfe2
Example of using async-await in libp2p-dcutr
:
rust-libp2p/protocols/relay/src/v2/protocol/inbound_stop.rs
Lines 124 to 146 in 43fdfe2