Skip to content

Commit

Permalink
feat(connections): clarify state management around supported protocols (
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaseizinger authored Mar 23, 2023
1 parent aac4e1f commit 7530296
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions connections/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ and spec status.
- [State Management](#state-management)
- [Peer Metadata Storage](#peer-metadata-storage)
- [Connection Limits](#connection-limits)
- [Supported protocols](#supported-protocols)
- [Connection Lifecycle Events](#connection-lifecycle-events)
- [Hole punching](#hole-punching)
- [Future Work](#future-work)
Expand Down Expand Up @@ -325,6 +326,17 @@ Resource allocation, measurement and enforcement policies are all an active area
of discussion in the libp2p community, and implementations are free to develop
whatever prioritization system makes sense.

#### Supported protocols

A libp2p node SHOULD scope its set of supported protocols to the underlying
physical connection to a peer. It MAY only support a protocol based on properties
of a physical connection to e.g. limit the use of bandwidth-heavy protocols over
a relayed or metered connection. A libp2p node MAY offer different sets of protocols
to different peers. It MAY revoke or add the support for a protocol at any time,
for example to only offer certain services after learning its NAT status on a connection.
Therefore, libp2p nodes SHOULD NOT assume that the set of protocols on a connection
is static.

### Connection Lifecycle Events

The establishment of new connections and streams is likely to be a
Expand Down

0 comments on commit 7530296

Please sign in to comment.