Skip to content

Commit

Permalink
swarm/src/handler: Document responsibility limiting inbound streams (#…
Browse files Browse the repository at this point in the history
…2752)

Document that the `ConnectionHandler` implementation has to enforce a limit on
the number of inbound substreams.
  • Loading branch information
mxinden authored Jul 14, 2022
1 parent d0da3a0 commit 7c8a977
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions swarm/src/handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@ pub trait ConnectionHandler: Send + 'static {
fn listen_protocol(&self) -> SubstreamProtocol<Self::InboundProtocol, Self::InboundOpenInfo>;

/// Injects the output of a successful upgrade on a new inbound substream.
///
/// Note that it is up to the [`ConnectionHandler`] implementation to manage the lifetime of the
/// negotiated inbound substreams. E.g. the implementation has to enforce a limit on the number
/// of simultaneously open negotiated inbound substreams. In other words it is up to the
/// [`ConnectionHandler`] implementation to stop a malicious remote node to open and keep alive
/// an excessive amount of inbound substreams.
fn inject_fully_negotiated_inbound(
&mut self,
protocol: <Self::InboundProtocol as InboundUpgradeSend>::Output,
Expand Down

0 comments on commit 7c8a977

Please sign in to comment.