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

Simplify ConnectionHandler trait by removing as many associated types as possible #2863

Open
8 of 14 tasks
thomaseizinger opened this issue Sep 1, 2022 · 11 comments
Open
8 of 14 tasks
Labels
tracking-issue Issues which are the entry point to bigger projects.

Comments

@thomaseizinger
Copy link
Contributor

thomaseizinger commented Sep 1, 2022

Simplify the ConnectionHandler interface. This is one of the first interfaces users get in touch with when the implement their own protocols. Making it as simple as possible without removing functionality should be the goal. All but {To,From}Behaviour should be removed and we should directly hand the negotiated stream to the ConnectionHandler without any form of "upgrade".

Sub-epics

  1. 6 of 6
    tracking-issue
  2. 8 of 9
    difficulty:moderate help wanted priority:nicetohave
  3. 9 of 9
    difficulty:moderate help wanted priority:nicetohave

Use ReadyUpgrade everywhere

  1. difficulty:moderate help wanted
    dgarus
  2. send-it
  3. send-it
  4. difficulty:easy getting-started help wanted

Migration plan

  1. difficulty:easy help wanted
  2. 1 of 5
  3. thomaseizinger
@thomaseizinger

This comment was marked as outdated.

@thomaseizinger

This comment was marked as outdated.

@thomaseizinger

This comment was marked as outdated.

@mxinden

This comment was marked as outdated.

@mxinden

This comment was marked as outdated.

@thomaseizinger

This comment was marked as outdated.

@mxinden

This comment was marked as outdated.

@thomaseizinger

This comment was marked as outdated.

@thomaseizinger

This comment was marked as outdated.

@thomaseizinger

This comment was marked as outdated.

@mxinden

This comment was marked as outdated.

@thomaseizinger thomaseizinger modified the milestone: Simplify ConnectionHandler trait Sep 18, 2023
@thomaseizinger thomaseizinger added tracking-issue Issues which are the entry point to bigger projects. and removed difficulty:moderate help wanted labels Sep 20, 2023
@thomaseizinger thomaseizinger changed the title swarm/handler: Decouple ConnectionHandler from {In,Out}boundUpgrade Decouple ConnectionHandler from {In,Out}boundUpgrade Sep 20, 2023
@thomaseizinger thomaseizinger changed the title Decouple ConnectionHandler from {In,Out}boundUpgrade Simplify ConnectionHandler trait by removing as many associated types as possible Sep 20, 2023
mergify bot pushed a commit that referenced this issue Sep 28, 2023
mergify bot pushed a commit that referenced this issue Oct 26, 2023
This patch refactors `libp2p-request-response` to not use the "upgrade infrastructure" provided by `libp2p-swarm`. Instead, we directly convert the negotiated streams into futures that read and write the messages.

Related: #3268.
Related: #2863.

Pull-Request: #3914.

Co-authored-by: Yiannis Marangos <yiannis@eiger.co>
umgefahren pushed a commit to umgefahren/rust-libp2p that referenced this issue Mar 8, 2024
This patch refactors `libp2p-request-response` to not use the "upgrade infrastructure" provided by `libp2p-swarm`. Instead, we directly convert the negotiated streams into futures that read and write the messages.

Related: libp2p#3268.
Related: libp2p#2863.

Pull-Request: libp2p#3914.

Co-authored-by: Yiannis Marangos <yiannis@eiger.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tracking-issue Issues which are the entry point to bigger projects.
Projects
None yet
Development

No branches or pull requests

2 participants