aboutsummaryrefslogtreecommitdiff
path: root/p2p/examples
diff options
context:
space:
mode:
authorhozan23 <hozan23@karyontech.net>2024-07-15 13:16:01 +0200
committerhozan23 <hozan23@karyontech.net>2024-07-15 13:16:01 +0200
commite15d3e6fd20b3f87abaad7ddec1c88b0e66419f9 (patch)
tree7976f6993e4f6b3646f5bd6954189346d5ffd330 /p2p/examples
parent6c65232d741229635151671708556b9af7ef75ac (diff)
p2p: Major refactoring of the handshake protocol
Introduce a new protocol InitProtocol which can be used as the core protocol for initializing a connection with a peer. Move the handshake logic from the PeerPool module to the protocols directory and build a handshake protocol that implements InitProtocol trait.
Diffstat (limited to 'p2p/examples')
-rw-r--r--p2p/examples/chat.rs6
1 files changed, 1 insertions, 5 deletions
diff --git a/p2p/examples/chat.rs b/p2p/examples/chat.rs
index 5867c8b..2ea6b2c 100644
--- a/p2p/examples/chat.rs
+++ b/p2p/examples/chat.rs
@@ -69,11 +69,8 @@ impl Protocol for ChatProtocol {
}
});
- let listener = self.peer.register_listener::<Self>().await;
loop {
- let event = listener.recv().await.expect("Receive new protocol event");
-
- match event {
+ match self.peer.recv::<Self>().await? {
ProtocolEvent::Message(msg) => {
let msg = String::from_utf8(msg).expect("Convert received bytes to string");
println!("{msg}");
@@ -85,7 +82,6 @@ impl Protocol for ChatProtocol {
}
task.cancel().await;
- listener.cancel().await;
Ok(())
}