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

transports/quic: Refactor listener handling #17

Closed
wants to merge 44 commits into from

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
    Configuration menu
    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
    Configuration menu
    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
    Configuration menu
    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
    Configuration menu
    Copy the full SHA
    72c76f0 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2022

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

Commits on May 22, 2022

  1. Configuration menu
    Copy the full SHA
    d6f0e75 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    858590f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    45f9c96 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bfd5fb0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    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
    Configuration menu
    Copy the full SHA
    80c3da1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bcb71a1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    38a2b78 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2022

  1. Configuration menu
    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
    Configuration menu
    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
    Configuration menu
    Copy the full SHA
    b4164e8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a7766cd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9824acd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a2988b5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2edb0cd View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    907a5ab View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    1924c12 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8ba3c20 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    96ae97b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c686b5a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    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
    Configuration menu
    Copy the full SHA
    2226092 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    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
    Configuration menu
    Copy the full SHA
    5f9ebb7 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2022

  1. Configuration menu
    Copy the full SHA
    199ce12 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    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
    Configuration menu
    Copy the full SHA
    08f4f80 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f92c2a4 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2022

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

Commits on Jun 26, 2022

  1. Configuration menu
    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
    Configuration menu
    Copy the full SHA
    b19e11a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c95c97c View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2022

  1. Merge branch 'refactor-transport-trait' of github.com:elenaf9/rust-li…

    …bp2p into quic/pull-2652
    elenaf9 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    58a85e5 View commit details
    Browse the repository at this point in the history
  2. transports/quic: adapt to transport trait changes

    Adapt to the transport changes of libp2p#2652.
    Note: this is only a draft "to make it work", and not a proper
    implementation. It does not support listening on multiple addresses.
    The listening logic with multiple Endpoints will need to be supported for
    the upstream implementation.
    elenaf9 committed Jun 27, 2022
    Configuration menu
    Copy the full SHA
    b239de6 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2022

  1. Configuration menu
    Copy the full SHA
    3dfb453 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b278d31 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4f7aed8 View commit details
    Browse the repository at this point in the history