Skip to content

Conversation

@achingbrain
Copy link
Member

Adds a force flag to libp2p.handle that means the method will not throw if a handler already exists for the protocol being handled.

Fixes #2928

Change checklist

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if necessary (this includes comments as well)
  • I have added tests that prove my fix is effective or that my feature works

@achingbrain achingbrain requested a review from a team as a code owner February 6, 2025 07:19
Adds a `force` flag to `libp2p.handle` that means the method will
not throw if a handler already exists for the protocol being handled.

Fixes #2928
@achingbrain achingbrain force-pushed the feat/allow-overriding-handlers branch from 1654573 to 06750d1 Compare February 6, 2025 07:24
@achingbrain achingbrain merged commit 21088c5 into main Feb 6, 2025
32 checks passed
@achingbrain achingbrain deleted the feat/allow-overriding-handlers branch February 6, 2025 07:40
@achingbrain achingbrain mentioned this pull request Feb 6, 2025
nflaig added a commit to ChainSafe/lodestar that referenced this pull request Apr 28, 2025
…7755)

**Motivation**

Right now, we do [not register a handler if it already is already
registered](https://github.com/ChainSafe/lodestar/blob/78a5e72989d10426b77bd408673fe191bbf33f8a/packages/reqresp/src/ReqResp.ts#L102-L105)
but even though we update some parts now such as rate limit at the hard
fork, we do not update all of them like `requestSizes`, we can either
pass the fork down in all the code paths where it is needed and use
getter functions or we override the handler once during the hard fork
transition. This PR proposes the later solution as it's much simpler and
seems cleaner as well.

**Description**

Override libp2p handler when registering protocol for new fork, this is
possible now due to libp2p/js-libp2p#2945 since
we updated to libp2p 2.0 in
#7359.

More context libp2p/js-libp2p#2928

Closes #7557
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incompatibility between handle tsdoc and implementation

2 participants