Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature request]: Low-Level Connection Management #175

Closed
kumavis opened this issue Mar 7, 2018 · 4 comments · Fixed by #1142
Closed

[feature request]: Low-Level Connection Management #175

kumavis opened this issue Mar 7, 2018 · 4 comments · Fixed by #1142
Labels
status/ready Ready to be worked

Comments

@kumavis
Copy link
Contributor

kumavis commented Mar 7, 2018

idea:

some additional controls over establishing/denying connections

  • hooks for denying connections before they are established (when possible)
  • ConnectionManager configuration that can limit the number of connections per transport

usecase:

MetaMask is building an Ethereum light client for the browser using libp2p.
We intend to use webrtc which is resource intensive and can only safely support 2-5 active connections.
We need to be able to deny incoming webrtc connection attempts after some threshold.

@mitra42
Copy link

mitra42 commented Mar 8, 2018

This is similar to a comment I made in another thread recently, Its not clear to me why webrtc can't deny connections above a certain number which would ideally solve the crashing problem in browsers.

@pgte
Copy link
Contributor

pgte commented Mar 12, 2018

@kumavis that's great feedback, thanks!
Opened these issues on libp2p-connection-manager.

@daviddias daviddias added the status/ready Ready to be worked label Mar 19, 2018
@daviddias
Copy link
Member

@kumavis if you have some spare cycles, test out the connection manager already released in libp2p 0.22 and that will also get released in js-ipfs 0.30 ipfs/js-ipfs#1375

@jacobheun
Copy link
Contributor

We are aiming to slot connection gating into the 0.30 release.

achingbrain added a commit that referenced this issue Jan 25, 2022
Port of https://github.com/libp2p/go-libp2p-core/blob/master/connmgr/gater.go

Adds a new configuration key `connectionGater` which allows denying the dialing of certain peers, individual multiaddrs and the creation of connections at certain points in the connection flow.

Fixes: #175
Refs: #744
Refs: #769

Co-authored-by: mzdws <[email protected]>
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
* deps(dev): bump aegir from 38.1.8 to 39.0.5

Bumps [aegir](https://github.com/ipfs/aegir) from 38.1.8 to 39.0.5.
- [Release notes](https://github.com/ipfs/aegir/releases)
- [Changelog](https://github.com/ipfs/aegir/blob/master/CHANGELOG.md)
- [Commits](ipfs/aegir@v38.1.8...v39.0.5)

---
updated-dependencies:
- dependency-name: aegir
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: fix linting

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: achingbrain <[email protected]>
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
maschad pushed a commit to maschad/js-libp2p that referenced this issue Jun 21, 2023
achingbrain pushed a commit that referenced this issue Jun 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/ready Ready to be worked
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants