mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-05-29 18:51:22 +00:00
swarm/src/handler: Document responsibility limiting inbound streams (#2752)
Document that the `ConnectionHandler` implementation has to enforce a limit on the number of inbound substreams.
This commit is contained in:
parent
d0da3a0973
commit
7c8a97739f
@ -116,6 +116,12 @@ pub trait ConnectionHandler: Send + 'static {
|
|||||||
fn listen_protocol(&self) -> SubstreamProtocol<Self::InboundProtocol, Self::InboundOpenInfo>;
|
fn listen_protocol(&self) -> SubstreamProtocol<Self::InboundProtocol, Self::InboundOpenInfo>;
|
||||||
|
|
||||||
/// Injects the output of a successful upgrade on a new inbound substream.
|
/// 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(
|
fn inject_fully_negotiated_inbound(
|
||||||
&mut self,
|
&mut self,
|
||||||
protocol: <Self::InboundProtocol as InboundUpgradeSend>::Output,
|
protocol: <Self::InboundProtocol as InboundUpgradeSend>::Output,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user