@@ -3,7 +3,9 @@ use std::net::Ipv4Addr;
3
3
use clap:: Parser ;
4
4
use libp2p:: futures:: prelude:: * ;
5
5
use libp2p:: swarm:: { NetworkBehaviour , SwarmEvent } ;
6
- use libp2p:: { identify, identity, kad, ping, relay, rendezvous, Multiaddr , StreamProtocol , Swarm } ;
6
+ use libp2p:: {
7
+ autonat, identify, identity, kad, ping, relay, rendezvous, Multiaddr , StreamProtocol , Swarm ,
8
+ } ;
7
9
use tracing:: info;
8
10
use tracing_subscriber:: prelude:: * ;
9
11
use tracing_subscriber:: EnvFilter ;
@@ -13,11 +15,12 @@ const CALIMERO_KAD_PROTO_NAME: StreamProtocol = StreamProtocol::new("/calimero/k
13
15
14
16
#[ derive( NetworkBehaviour ) ]
15
17
struct Behaviour {
18
+ autonat : autonat:: Behaviour ,
16
19
identify : identify:: Behaviour ,
17
20
kad : kad:: Behaviour < kad:: store:: MemoryStore > ,
18
21
ping : ping:: Behaviour ,
19
- rendezvous : rendezvous:: server:: Behaviour ,
20
22
relay : relay:: Behaviour ,
23
+ rendezvous : rendezvous:: server:: Behaviour ,
21
24
}
22
25
23
26
#[ derive( Debug , Parser ) ]
@@ -61,6 +64,7 @@ async fn main() -> eyre::Result<()> {
61
64
) ?
62
65
. with_quic ( )
63
66
. with_behaviour ( |keypair| Behaviour {
67
+ autonat : autonat:: Behaviour :: new ( peer_id. clone ( ) , Default :: default ( ) ) ,
64
68
identify : identify:: Behaviour :: new ( identify:: Config :: new (
65
69
PROTOCOL_VERSION . to_owned ( ) ,
66
70
keypair. public ( ) ,
@@ -127,6 +131,9 @@ async fn handle_swarm_event(swarm: &mut Swarm<Behaviour>, event: SwarmEvent<Beha
127
131
128
132
async fn handle_swarm_behaviour_event ( swarm : & mut Swarm < Behaviour > , event : BehaviourEvent ) {
129
133
match event {
134
+ BehaviourEvent :: Autonat ( event) => {
135
+ info ! ( "AutoNat event: {event:?}" ) ;
136
+ }
130
137
BehaviourEvent :: Identify ( event) => {
131
138
info ! ( "Identify event: {event:?}" ) ;
132
139
match event {
@@ -143,12 +150,12 @@ async fn handle_swarm_behaviour_event(swarm: &mut Swarm<Behaviour>, event: Behav
143
150
BehaviourEvent :: Kad ( event) => {
144
151
info ! ( "Kad event: {event:?}" ) ;
145
152
}
146
- BehaviourEvent :: Rendezvous ( event) => {
147
- info ! ( "Rendezvous event: {event:?}" ) ;
148
- }
149
153
BehaviourEvent :: Relay ( event) => {
150
154
info ! ( "Relay event: {event:?}" ) ;
151
155
}
156
+ BehaviourEvent :: Rendezvous ( event) => {
157
+ info ! ( "Rendezvous event: {event:?}" ) ;
158
+ }
152
159
_ => { }
153
160
}
154
161
}
0 commit comments