refactor(relay): introduce Handler::new functions (#3334)

This commit is contained in:
Thomas Eizinger
2023-01-18 12:29:43 +11:00
committed by GitHub
parent c18939f8dc
commit 8cd14e6a3a
2 changed files with 37 additions and 25 deletions

View File

@ -350,19 +350,7 @@ impl IntoConnectionHandler for Prototype {
// Deny all substreams on relayed connection.
Either::Right(dummy::ConnectionHandler)
} else {
Either::Left(Handler {
endpoint: endpoint.clone(),
config: self.config,
queued_events: Default::default(),
pending_error: Default::default(),
reservation_request_future: Default::default(),
circuit_accept_futures: Default::default(),
circuit_deny_futures: Default::default(),
alive_lend_out_substreams: Default::default(),
circuits: Default::default(),
active_reservation: Default::default(),
keep_alive: KeepAlive::Yes,
})
Either::Left(Handler::new(self.config, endpoint.clone()))
}
}
@ -431,6 +419,22 @@ pub struct Handler {
}
impl Handler {
fn new(config: Config, endpoint: ConnectedPoint) -> Handler {
Handler {
endpoint,
config,
queued_events: Default::default(),
pending_error: Default::default(),
reservation_request_future: Default::default(),
circuit_accept_futures: Default::default(),
circuit_deny_futures: Default::default(),
alive_lend_out_substreams: Default::default(),
circuits: Default::default(),
active_reservation: Default::default(),
keep_alive: KeepAlive::Yes,
}
}
fn on_fully_negotiated_inbound(
&mut self,
FullyNegotiatedInbound {

View File

@ -140,18 +140,11 @@ impl IntoConnectionHandler for Prototype {
// Deny all substreams on relayed connection.
Either::Right(dummy::ConnectionHandler)
} else {
let mut handler = Handler {
remote_peer_id: *remote_peer_id,
remote_addr: endpoint.get_remote_address().clone(),
local_peer_id: self.local_peer_id,
queued_events: Default::default(),
pending_error: Default::default(),
reservation: Reservation::None,
alive_lend_out_substreams: Default::default(),
circuit_deny_futs: Default::default(),
send_error_futs: Default::default(),
keep_alive: KeepAlive::Yes,
};
let mut handler = Handler::new(
self.local_peer_id,
*remote_peer_id,
endpoint.get_remote_address().clone(),
);
if let Some(event) = self.initial_in {
handler.on_behaviour_event(event)
@ -212,6 +205,21 @@ pub struct Handler {
}
impl Handler {
fn new(local_peer_id: PeerId, remote_peer_id: PeerId, remote_addr: Multiaddr) -> Self {
Self {
local_peer_id,
remote_peer_id,
remote_addr,
queued_events: Default::default(),
pending_error: Default::default(),
reservation: Reservation::None,
alive_lend_out_substreams: Default::default(),
circuit_deny_futs: Default::default(),
send_error_futs: Default::default(),
keep_alive: KeepAlive::Yes,
}
}
fn on_fully_negotiated_inbound(
&mut self,
FullyNegotiatedInbound {