Skip to content

Commit 8cd14e6

Browse files
refactor(relay): introduce Handler::new functions (#3334)
1 parent c18939f commit 8cd14e6

File tree

2 files changed

+37
-25
lines changed

2 files changed

+37
-25
lines changed

protocols/relay/src/behaviour/handler.rs

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -350,19 +350,7 @@ impl IntoConnectionHandler for Prototype {
350350
// Deny all substreams on relayed connection.
351351
Either::Right(dummy::ConnectionHandler)
352352
} else {
353-
Either::Left(Handler {
354-
endpoint: endpoint.clone(),
355-
config: self.config,
356-
queued_events: Default::default(),
357-
pending_error: Default::default(),
358-
reservation_request_future: Default::default(),
359-
circuit_accept_futures: Default::default(),
360-
circuit_deny_futures: Default::default(),
361-
alive_lend_out_substreams: Default::default(),
362-
circuits: Default::default(),
363-
active_reservation: Default::default(),
364-
keep_alive: KeepAlive::Yes,
365-
})
353+
Either::Left(Handler::new(self.config, endpoint.clone()))
366354
}
367355
}
368356

@@ -431,6 +419,22 @@ pub struct Handler {
431419
}
432420

433421
impl Handler {
422+
fn new(config: Config, endpoint: ConnectedPoint) -> Handler {
423+
Handler {
424+
endpoint,
425+
config,
426+
queued_events: Default::default(),
427+
pending_error: Default::default(),
428+
reservation_request_future: Default::default(),
429+
circuit_accept_futures: Default::default(),
430+
circuit_deny_futures: Default::default(),
431+
alive_lend_out_substreams: Default::default(),
432+
circuits: Default::default(),
433+
active_reservation: Default::default(),
434+
keep_alive: KeepAlive::Yes,
435+
}
436+
}
437+
434438
fn on_fully_negotiated_inbound(
435439
&mut self,
436440
FullyNegotiatedInbound {

protocols/relay/src/priv_client/handler.rs

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -140,18 +140,11 @@ impl IntoConnectionHandler for Prototype {
140140
// Deny all substreams on relayed connection.
141141
Either::Right(dummy::ConnectionHandler)
142142
} else {
143-
let mut handler = Handler {
144-
remote_peer_id: *remote_peer_id,
145-
remote_addr: endpoint.get_remote_address().clone(),
146-
local_peer_id: self.local_peer_id,
147-
queued_events: Default::default(),
148-
pending_error: Default::default(),
149-
reservation: Reservation::None,
150-
alive_lend_out_substreams: Default::default(),
151-
circuit_deny_futs: Default::default(),
152-
send_error_futs: Default::default(),
153-
keep_alive: KeepAlive::Yes,
154-
};
143+
let mut handler = Handler::new(
144+
self.local_peer_id,
145+
*remote_peer_id,
146+
endpoint.get_remote_address().clone(),
147+
);
155148

156149
if let Some(event) = self.initial_in {
157150
handler.on_behaviour_event(event)
@@ -212,6 +205,21 @@ pub struct Handler {
212205
}
213206

214207
impl Handler {
208+
fn new(local_peer_id: PeerId, remote_peer_id: PeerId, remote_addr: Multiaddr) -> Self {
209+
Self {
210+
local_peer_id,
211+
remote_peer_id,
212+
remote_addr,
213+
queued_events: Default::default(),
214+
pending_error: Default::default(),
215+
reservation: Reservation::None,
216+
alive_lend_out_substreams: Default::default(),
217+
circuit_deny_futs: Default::default(),
218+
send_error_futs: Default::default(),
219+
keep_alive: KeepAlive::Yes,
220+
}
221+
}
222+
215223
fn on_fully_negotiated_inbound(
216224
&mut self,
217225
FullyNegotiatedInbound {

0 commit comments

Comments
 (0)