subspace_networking/protocols/reserved_peers/
handler.rs1use libp2p::core::upgrade::DeniedUpgrade;
2use libp2p::swarm::handler::ConnectionEvent;
3use libp2p::swarm::{ConnectionHandler, ConnectionHandlerEvent, SubstreamProtocol};
4use std::task::{Context, Poll};
5use void::Void;
6
7pub struct Handler {
21 connected_to_reserved_peer: bool,
23}
24
25impl Handler {
26 pub fn new(connected_to_reserved_peer: bool) -> Self {
28 Handler {
29 connected_to_reserved_peer,
30 }
31 }
32}
33
34impl ConnectionHandler for Handler {
35 type FromBehaviour = Void;
36 type ToBehaviour = ();
37 type InboundProtocol = DeniedUpgrade;
38 type OutboundProtocol = DeniedUpgrade;
39 type OutboundOpenInfo = ();
40 type InboundOpenInfo = ();
41
42 fn listen_protocol(&self) -> SubstreamProtocol<DeniedUpgrade, ()> {
43 SubstreamProtocol::new(DeniedUpgrade, ())
44 }
45
46 fn on_behaviour_event(&mut self, _: Void) {}
47
48 fn connection_keep_alive(&self) -> bool {
49 self.connected_to_reserved_peer
50 }
51
52 fn poll(&mut self, _: &mut Context<'_>) -> Poll<ConnectionHandlerEvent<DeniedUpgrade, (), ()>> {
53 Poll::Pending
54 }
55
56 fn on_connection_event(
57 &mut self,
58 _: ConnectionEvent<
59 Self::InboundProtocol,
60 Self::OutboundProtocol,
61 Self::InboundOpenInfo,
62 Self::OutboundOpenInfo,
63 >,
64 ) {
65 }
66}