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

Transport: Poll Transport directly, remove ListenersStream #2652

Merged
merged 56 commits into from Jul 4, 2022

Commits on May 16, 2022

  1. core/transport: remove Transport::Listener

    Remove `Transport::Listener: Stream`. Instead require the Transport
    itself to implement a stream-like API with `Transport::poll`.
    
    In case of multiple listeners, transports are now required to handle
    the multiple listener streams themselves internally.
    elenaf9 committed May 16, 2022
    Copy the full SHA
    f134c8b View commit details
    Browse the repository at this point in the history
  2. swarm: remove ListenerStream, poll Transport

    Remove ListenersStream, instead poll the boxed transport directly
    in the `Swarm` for `TransportEvent`s (which replace the former
    `ListenersEvent`s).
    elenaf9 committed May 16, 2022
    Copy the full SHA
    aac9e1c View commit details
    Browse the repository at this point in the history
  3. transports/tcp: handle transport changes

    Add new struct `GenTcpTransport` as wrapper for `GenTcpConfig` to manage
    multiple listener streams.
    This is essentially the old ListenerStream logic from swarm/connection.
    elenaf9 committed May 16, 2022
    Copy the full SHA
    68663fd View commit details
    Browse the repository at this point in the history
  4. *: adapt majority of other transports

    Adapt majority of helper transports to the new Transport trait.
    For most transports this just removes the extra *Listener type and
    instead implements that logic in `Transport::poll`.
    
    To adapt the `Boxed` transport the restriction had to be added that
    transport is `Unpin`.
    TODO: check if we can solve polling `Boxed` without the inner Transport
    being unpin.
    elenaf9 committed May 16, 2022
    Copy the full SHA
    72c76f0 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2022

  1. Copy the full SHA
    945c4a0 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2022

  1. Copy the full SHA
    d6f0e75 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    858590f View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    45f9c96 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    bfd5fb0 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    90721b9 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2022

  1. *: format

    elenaf9 committed May 26, 2022
    Copy the full SHA
    80c3da1 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    bcb71a1 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    38a2b78 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2022

  1. Copy the full SHA
    607412d View commit details
    Browse the repository at this point in the history
  2. Remove various Sync bounds

    With `Transport` becoming non-Clone and having `&mut` self receivers,
    the `Sync` requirement no longer makes any sense and we can thus
    remove it.
    thomaseizinger authored and elenaf9 committed May 29, 2022
    Copy the full SHA
    d7f5019 View commit details
    Browse the repository at this point in the history
  3. transports/tcp: revert Stream impl for GenTcpTransport

    With PR libp2p#2667 the `Sync` trait bound for transport::Boxed is removed.
    If a tcp transport should be polled as a stream we can now do this via
    `TcpTransport::new(..)::boxed` and do not need a separate impl of
    `Stream` for it.
    elenaf9 committed May 29, 2022
    Copy the full SHA
    b4164e8 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    a7766cd View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    9824acd View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    a2988b5 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    2edb0cd View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    907a5ab View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    1924c12 View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    8ba3c20 View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    96ae97b View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    c686b5a View commit details
    Browse the repository at this point in the history
  13. Copy the full SHA
    354d2f0 View commit details
    Browse the repository at this point in the history
  14. core/transport: create ListenerId within Transport

    Return a ListenerId in Transport::listen_on instead of getting it
    injected from the outside.
    Namespace ListenerIds with the Transport's TypeId to avoid clashing IDs
    when transport generate their ListenerIds independenlty.
    elenaf9 committed May 29, 2022
    Copy the full SHA
    2226092 View commit details
    Browse the repository at this point in the history
  15. Copy the full SHA
    8f608cd View commit details
    Browse the repository at this point in the history
  16. *: fix CI

    elenaf9 committed May 29, 2022
    Copy the full SHA
    5f9ebb7 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2022

  1. Copy the full SHA
    199ce12 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    27ee9ca View commit details
    Browse the repository at this point in the history
  3. *: fix intra-doc links

    elenaf9 committed Jun 11, 2022
    Copy the full SHA
    08f4f80 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    f92c2a4 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2022

  1. Copy the full SHA
    a357d71 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    a4a745e View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    81c945c View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2022

  1. Copy the full SHA
    1c2b9e5 View commit details
    Browse the repository at this point in the history
  2. *: apply comments from review

    elenaf9 committed Jun 26, 2022
    Copy the full SHA
    b19e11a View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    c95c97c View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2022

  1. Copy the full SHA
    eb0397b View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    610f7ae View commit details
    Browse the repository at this point in the history
  3. *: use intra-doc links

    Co-authored-by: Max Inden <mail@max-inden.de>
    elenaf9 and mxinden committed Jun 27, 2022
    Copy the full SHA
    f28cdb1 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    4841d81 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    4e74407 View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    b410724 View commit details
    Browse the repository at this point in the history
  7. *: clean code, fix docs

    elenaf9 committed Jun 27, 2022
    Copy the full SHA
    71885ad View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    2b3402c View commit details
    Browse the repository at this point in the history
  9. *: fix missing renames

    elenaf9 committed Jun 27, 2022
    Copy the full SHA
    469515e View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2022

  1. transports/tcp: rm unneeded dependencies, fix docs

    Co-authored-by: Max Inden <mail@max-inden.de>
    elenaf9 and mxinden committed Jun 28, 2022
    Copy the full SHA
    83a13dd View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    3d4e0aa View commit details
    Browse the repository at this point in the history
  3. *: add changelog entries

    elenaf9 committed Jun 28, 2022
    Copy the full SHA
    8600be7 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    1a16312 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2022

  1. Copy the full SHA
    d4b8ba5 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    03c5170 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    5f5eb08 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2022

  1. Copy the full SHA
    c2bc9e8 View commit details
    Browse the repository at this point in the history