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

Implement the rendezvous protocol #2107

Merged
merged 250 commits into from
Sep 7, 2021
Merged

Commits on May 24, 2021

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

Commits on May 25, 2021

  1. WIP:

    rishflab committed May 25, 2021
    Configuration menu
    Copy the full SHA
    76f57bd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aed2f95 View commit details
    Browse the repository at this point in the history
  3. WIP

    thomaseizinger committed May 25, 2021
    Configuration menu
    Copy the full SHA
    61b7343 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    88d6fca View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e191a3d View commit details
    Browse the repository at this point in the history

Commits on May 26, 2021

  1. Define behaviour API

    rishflab committed May 26, 2021
    Configuration menu
    Copy the full SHA
    f728821 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2021

  1. Configuration menu
    Copy the full SHA
    87df759 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c61db0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5428d7f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7a12627 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c94e215 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2021

  1. Configuration menu
    Copy the full SHA
    193c016 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5a9aae3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a15296e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4208a02 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d5ea66b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2166e7e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4bbf56d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c36ac8b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b45688d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    1dc2580 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e079510 View commit details
    Browse the repository at this point in the history
  12. Rename substream states

    rishflab committed May 28, 2021
    Configuration menu
    Copy the full SHA
    a03868a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    436682e View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    32a504b View commit details
    Browse the repository at this point in the history
  15. Prepare everything for writing tests

    Pull in all the code that creates and connects the test swarms that include the behaviour to be tested.
    A first initial test stub is there, but no test functionality added yet.
    da-kami committed May 28, 2021
    Configuration menu
    Copy the full SHA
    e377d5d View commit details
    Browse the repository at this point in the history

Commits on May 31, 2021

  1. Configuration menu
    Copy the full SHA
    f925f26 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a61742a View commit details
    Browse the repository at this point in the history
  3. Handle unregister request in behaviour

    Fix imports
    rishflab committed May 31, 2021
    Configuration menu
    Copy the full SHA
    b39449d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d6fc13f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2edc167 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d590741 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2021

  1. Configuration menu
    Copy the full SHA
    81388db View commit details
    Browse the repository at this point in the history
  2. WIP: signed peer record

    rishflab committed Jun 1, 2021
    Configuration menu
    Copy the full SHA
    404b484 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a89cffc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4ffaa5f View commit details
    Browse the repository at this point in the history
  5. Fix unused imports

    rishflab committed Jun 1, 2021
    Configuration menu
    Copy the full SHA
    585e4a7 View commit details
    Browse the repository at this point in the history
  6. Reorg behaviour

    rishflab committed Jun 1, 2021
    Configuration menu
    Copy the full SHA
    20ce11f View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2021

  1. Added debug prints, Handler not being polled?

    The protocol handler is being spawned once during initialisation and
    then again during the test phase. This seems weird?
    rishflab committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    b484718 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f923c2 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2021

  1. Remove duplicated code

    rishflab committed Jun 3, 2021
    Configuration menu
    Copy the full SHA
    6a4bbec View commit details
    Browse the repository at this point in the history
  2. Delete unused file

    rishflab committed Jun 3, 2021
    Configuration menu
    Copy the full SHA
    e1c2d17 View commit details
    Browse the repository at this point in the history
  3. Use tcp transport in tests

    rishflab committed Jun 3, 2021
    Configuration menu
    Copy the full SHA
    7796a69 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f2f89cf View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2021

  1. Hack: Return poll ready to force swarm to be polled

    This hack fix makes the outbound state move past PendingSend. Emitting a
     Poll::Ready from the behaviour after sending the response to the
     register request seems to make the swarm get polled? The register swarm
      still is not emitting a SucesfullyRegisteredWithRendezvous node event.
    rishflab committed Jun 4, 2021
    Configuration menu
    Copy the full SHA
    dbd6745 View commit details
    Browse the repository at this point in the history
  2. Delete unused code

    rishflab committed Jun 4, 2021
    Configuration menu
    Copy the full SHA
    7b22d16 View commit details
    Browse the repository at this point in the history
  3. Replace emission of dummy event with ResponseSent

    The register test is now passing. It seems that emitting a wrong/dummy
    event was resulting in a corrupted state. After making a ResponseSent
    event the specifically for the purpose notifying the swarm and handler
    that a response has been sent on an inbound stream fixed the hanging
    test.
    rishflab committed Jun 4, 2021
    Configuration menu
    Copy the full SHA
    a00b3f8 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2021

  1. Reverted back to daniel/thomas test architecture

    Same old bug
    rishflab committed Jun 7, 2021
    Configuration menu
    Copy the full SHA
    69a00cf View commit details
    Browse the repository at this point in the history
  2. Make initial test pass

    For this we had to fix several problems:
    
    1. In the connection setup, we needed to wait for _both_ swarms
    to emit `ConnectionEstablished`.
    2. In the inject_event implementation, we needed to emit the `NotifyHandler`
    event first because otherwise, the swarm would stop getting polled because
    we already have an event.
    thomaseizinger committed Jun 7, 2021
    Configuration menu
    Copy the full SHA
    c0599c8 View commit details
    Browse the repository at this point in the history
  3. Add TODO

    thomaseizinger committed Jun 7, 2021
    Configuration menu
    Copy the full SHA
    57d471d View commit details
    Browse the repository at this point in the history
  4. Remove hack fix to trigger Swarm::poll()

    The ResponseSent dummy message hack is no longer required after the
    changes introduced in c0599c8
    rishflab committed Jun 7, 2021
    Configuration menu
    Copy the full SHA
    624a72b View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2021

  1. Configuration menu
    Copy the full SHA
    1f5251a View commit details
    Browse the repository at this point in the history
  2. Format with rustfmt

    thomaseizinger committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    94b5dbe View commit details
    Browse the repository at this point in the history
  3. Infer addresses to register from external addresses

    To actually register an address now, we need to tell the Swarm about
    our external address.
    thomaseizinger committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    10ee7e5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    26d1ac6 View commit details
    Browse the repository at this point in the history
  5. Remove dead code

    thomaseizinger committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    32b05a1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5fc8583 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    24a0c0d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    dec5a43 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0c3bbaa View commit details
    Browse the repository at this point in the history
  10. Deal with warnings

    thomaseizinger committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    5c9c83e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b766951 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a89b28d View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    acc6583 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    1ef3539 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    f42ac18 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8bb25b9 View commit details
    Browse the repository at this point in the history
  17. Introduce Next enum for making State::poll fns declarative

    Modelling the `poll` functions as a pure function of `State` -> `Next`
    makes it hopefully easier to understand what is going on here.
    thomaseizinger committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    e337024 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    6128354 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    4806c96 View commit details
    Browse the repository at this point in the history
  20. Remove noisy logs

    thomaseizinger committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    7e0d9da View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    939faa9 View commit details
    Browse the repository at this point in the history
  22. Import std::mem

    thomaseizinger committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    e970758 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    35c91ab View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    7610d3d View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    5af486e View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    581cee0 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2021

  1. Return a hashmap of registrations instead of a vector

    A hashmap of (namespace, peer_id) ensures there will be no duplicate
    registration records. It does not make sense for there to be  duplicate
    registration records. A Hashset would of been nice but then we would
    have to implement Hash etc on various types.
    rishflab committed Jun 9, 2021
    Configuration menu
    Copy the full SHA
    43c8753 View commit details
    Browse the repository at this point in the history
  2. Allow registration swarm to specify TTL in registration request

    Assert that the TTL is correct in the tests.
    rishflab committed Jun 9, 2021
    Configuration menu
    Copy the full SHA
    344123f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    faa066c View commit details
    Browse the repository at this point in the history
  4. Attach timestamp to the registration the record

    The TTL alone is useless to the user. The timestamp allows the user
    calculate the absolute expiry time without breaking the tests.
    rishflab committed Jun 9, 2021
    Configuration menu
    Copy the full SHA
    6908659 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5ebb734 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b9dd7d3 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2021

  1. Configuration menu
    Copy the full SHA
    0d4bd9f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e1fcdd1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a92be31 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    89348dc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    edeb5b2 View commit details
    Browse the repository at this point in the history
  6. Don't return namespace from Registrations::add

    We pass the namespace in, there is no need to return it.
    thomaseizinger committed Jun 10, 2021
    Configuration menu
    Copy the full SHA
    3a62bee View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5349d93 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4c28f11 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4f03f90 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    fbea1ef View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    7801601 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    e233850 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    242d444 View commit details
    Browse the repository at this point in the history
  14. Use match with specific error variant instead of if let

    Matching against the specific error variants will produce a compile
    error (non-exhaustive match) if anyone ever extends this enum.
    This is useful because it otherwise, we would erroneously send
    an `InvalidTtl` message to the client even though the error cause
    might be something completely different.
    thomaseizinger committed Jun 10, 2021
    Configuration menu
    Copy the full SHA
    cc9a02e View commit details
    Browse the repository at this point in the history
  15. Remove TODO

    We've got some tests now.
    thomaseizinger committed Jun 10, 2021
    Configuration menu
    Copy the full SHA
    5277f6a View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3240bc5 View commit details
    Browse the repository at this point in the history
  17. Allow tests to run in parallel

    These tests share the same thread and hence we should only try to
    initialize the logger once.
    thomaseizinger committed Jun 10, 2021
    Configuration menu
    Copy the full SHA
    2d96943 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    58ce18e View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2021

  1. Configuration menu
    Copy the full SHA
    29b9fb1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    36d7039 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1241d77 View commit details
    Browse the repository at this point in the history
  4. Re-order module

    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    fb39c2c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0251bd4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    799103e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dde489d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a59a60d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a9ab281 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    de19fda View commit details
    Browse the repository at this point in the history
  11. Fix link in docs

    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    be4bea0 View commit details
    Browse the repository at this point in the history
  12. Improve docs wording

    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    b33d7d5 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    65d0ba6 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    000360c View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    2f0e4c4 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8a4d747 View commit details
    Browse the repository at this point in the history
  17. Remove noisy logs

    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    b9ca692 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    444e7a1 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    09ad250 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    ee74706 View commit details
    Browse the repository at this point in the history
  21. Handle EOF gracefully

    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    15e0c67 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    b5a5364 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    c4c8795 View commit details
    Browse the repository at this point in the history
  24. DRY

    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    cf8135f View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    7a2bc6d View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    eca21a5 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    42ead09 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    ebc6f03 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    1f3156f View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    79a49dd View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    f59cdcf View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    3ae1cd9 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    a461c58 View commit details
    Browse the repository at this point in the history
  34. Rename event variants to be more event-y

    Instead of being a sentence like `FailedToDiscover`, we say
    `DiscoverFailed` which means that the DISCOVER request failed.
    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    55be51f View commit details
    Browse the repository at this point in the history
  35. Return namespace in result events of behaviour

    This allows us to associate a successful / failed register or discover
    response with the initial request.
    
    To achieve this, we need to keep track of the message we sent on a given
    substream. This introduces some duplication in the event modelling because
    we can no longer just pass up the message we read from a substream to the
    behaviour.
    
    Interestingly though, modelling this out better has an interesting benefit
    in that we can now fully validate, that the incoming message fits to what
    we originally sent. Previously, a rouge rendezvous node could respond with
    a complete garbage message (like a successful registration on a DISCOVER msg)
    and we would have processed it as if it would have been expected.
    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    4da0f53 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    43f14f9 View commit details
    Browse the repository at this point in the history
  37. Model success and error message variants using Result

    This reduces the number of variants.
    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    82b5d78 View commit details
    Browse the repository at this point in the history
  38. Add TODOs

    thomaseizinger committed Jun 11, 2021
    Configuration menu
    Copy the full SHA
    4ccfbad View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2021

  1. Configuration menu
    Copy the full SHA
    56c92c2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5484c21 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3161547 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    13df0d7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    912fcec View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. Extend Advance with arbitrary params

    This allows us to store the history of sent messages outside the
    state which simplifies the actual state definition.
    thomaseizinger committed Jun 16, 2021
    Configuration menu
    Copy the full SHA
    11647a0 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2021

  1. Refactor Advance to make use of Result

    This allows us to use `?` inside the state transitions.
    thomaseizinger committed Jun 17, 2021
    Configuration menu
    Copy the full SHA
    756fdb5 View commit details
    Browse the repository at this point in the history
  2. Make sure we always talk to the same handler

    Our substreams are stateful, we need to make sure we send the event
    to the right one.
    thomaseizinger committed Jun 17, 2021
    Configuration menu
    Copy the full SHA
    28c0cfb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a23829c View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2021

  1. Remove expired registrations

    rishflab committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    a582ea9 View commit details
    Browse the repository at this point in the history
  2. Clear registrations_for_peer upon expiry

    Use bidirectional hashmap to allow efficient removal of
    registrations_for_peer upon expiry. Add proper registrations expired
    event.
    rishflab committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    9923698 View commit details
    Browse the repository at this point in the history
  3. Extend expiry test

    Create 2 registrations. One expires while the other remains alive.
    rishflab committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    1b36d74 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6f0cc7f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e2f779d View commit details
    Browse the repository at this point in the history
  6. Ensure next_expiry.poll_next() cannot return None

     FuturesUnordered stop polling for ready futures when poll_next() is
     called until a None value is returned. To prevent the next_expiry
     future from going to "sleep", next_expiry is initialised with a future
     that always returns pending. This test ensures that FuturesUnordered
     does not stop polling for ready futures.
    rishflab committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    7312592 View commit details
    Browse the repository at this point in the history
  7. Use tokio::test to fix broken tests

    6f0cc7f introduced tokio/async.
    tokio::test is now required for tests that use Registrations
    rishflab committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    e560e24 View commit details
    Browse the repository at this point in the history
  8. Fix bug where new registration was not being added

    The registration for a peer should be inserted regardless of whether an
    entry already exists.
    rishflab committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    69dfbee View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    bdc102e View commit details
    Browse the repository at this point in the history
  10. Switch registrations in cookies to a HashSet

    They should be unique and a hashset is going to help us in tracking
    which elements we can remove.
    thomaseizinger committed Jun 18, 2021
    Configuration menu
    Copy the full SHA
    b8a93c3 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2021

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

Commits on Jun 21, 2021

  1. Configuration menu
    Copy the full SHA
    d31ebff View commit details
    Browse the repository at this point in the history
  2. Remove redundant field from PeerRegistered

    Move tokio dependency to allow code to build.
    rishflab committed Jun 21, 2021
    Configuration menu
    Copy the full SHA
    1fe1e3d View commit details
    Browse the repository at this point in the history
  3. Remove unused dependency

    rishflab committed Jun 21, 2021
    Configuration menu
    Copy the full SHA
    476ddc7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    93846e1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    61f4dbb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e39c304 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    85a0751 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2bf0689 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b6a02b5 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    bbeb6f3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4a67051 View commit details
    Browse the repository at this point in the history
  12. Adapt to latest master

    thomaseizinger committed Jun 21, 2021
    Configuration menu
    Copy the full SHA
    17924e7 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    46c058c View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2021

  1. Configuration menu
    Copy the full SHA
    6d4a915 View commit details
    Browse the repository at this point in the history
  2. Add rendezous swarm

    Node trying to register does not know its external address
    rishflab committed Jun 22, 2021
    Configuration menu
    Copy the full SHA
    e87c5b8 View commit details
    Browse the repository at this point in the history
  3. Registration is working

    rishflab committed Jun 22, 2021
    Configuration menu
    Copy the full SHA
    bdd2cc4 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2021

  1. Remove unnecessary naming of field in single field struct variant

    The name of the newtype is descriptive enough, we can be more concise
    by not naming the field.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    26b2ac1 View commit details
    Browse the repository at this point in the history
  2. RIP PoW

    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    c3b1de5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eae577b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    24c0322 View commit details
    Browse the repository at this point in the history
  5. Make all modules private and only expose particular structs

    This should help us detect dead code better.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    ee53ba1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    cd68a75 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0dfba09 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f6cd3b9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    c25f554 View commit details
    Browse the repository at this point in the history
  10. Prefer async fn main over task::block_on

    Reduces levels of indentation and is easier to grasp in general.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    5d29f74 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    77ee0ad View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    189dfde View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    b873f23 View commit details
    Browse the repository at this point in the history
  14. Make discover and register share a common protocol

    The whole point of the rendezvous protocol is for two nodes with common
    protocols to find each other. We showcase this using the ping protocol
    that allows peers to measure the latency of their network connection.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    7a452aa View commit details
    Browse the repository at this point in the history
  15. Make register example listen on a random port

    This showcases better that we automatically discover our external
    address.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    5d8f42f View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ec79ba6 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    a3270ca View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    0fdb340 View commit details
    Browse the repository at this point in the history
  19. Add Ping behaviour to rendezvous point

    Otherwise the connection is being closed automatically. We don't want
    the logs to be spammed by pings to the rendezvous point though because
    the examples are here to showcase two nodes connecting through the
    rendezvous node.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    dae0f6e View commit details
    Browse the repository at this point in the history
  20. Make logging prettier

    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    7776b37 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    f1b763a View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    6d14c5b View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    b2a0c6f View commit details
    Browse the repository at this point in the history
  24. Be quiet by default

    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    b34b099 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    798d5ab View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    c5a968c View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    7bdc277 View commit details
    Browse the repository at this point in the history
  28. Model inject_event implementation of mapping to new events

    This avoids the repetition of `self.events.{push, extend}`.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    ea20273 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    531570e View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    fad3941 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    9600210 View commit details
    Browse the repository at this point in the history
  32. Introduce Namespace newtype to capture max-length invariant

    Additionally, this allows us to convert some of our enum struct variants
    to tuple variants because the name of the type conveys the same
    amount of information as a fieldname.
    thomaseizinger committed Jun 23, 2021
    Configuration menu
    Copy the full SHA
    6aa4c36 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    e0eaa41 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2021

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

Commits on Jun 25, 2021

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

Commits on Jul 1, 2021

  1. Expose Config params

    da-kami committed Jul 1, 2021
    Configuration menu
    Copy the full SHA
    2e143a0 View commit details
    Browse the repository at this point in the history
  2. Fix typo in test name

    thomaseizinger committed Jul 1, 2021
    Configuration menu
    Copy the full SHA
    8c3b010 View commit details
    Browse the repository at this point in the history
  3. Use wasm-timer instead of tokio

    This should allow us to compile on wasm and also removes the need
    to mark some tests as `async` even though they don't use `await`.
    thomaseizinger committed Jul 1, 2021
    Configuration menu
    Copy the full SHA
    622484d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b4a66bd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0a16136 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4cacaf2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    952fde2 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2021

  1. Configuration menu
    Copy the full SHA
    da0e761 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    082dfd0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d3628cf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8f46361 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    326c9b2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3df6e52 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    802b152 View commit details
    Browse the repository at this point in the history
  8. Store discovered addresses inside behaviour

    This makes it easier for callers to directly interact with peers
    they discovered via a rendezvous point.
    thomaseizinger committed Jul 2, 2021
    Configuration menu
    Copy the full SHA
    74a39f4 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2021

  1. Add register example that doesnt use the Identify protocol

    The external address is specified manually.
    rishflab committed Jul 8, 2021
    Configuration menu
    Copy the full SHA
    4af8af7 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2021

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

Commits on Aug 26, 2021

  1. Configuration menu
    Copy the full SHA
    5f10abf View commit details
    Browse the repository at this point in the history
  2. Fix warnings in tests

    thomaseizinger committed Aug 26, 2021
    Configuration menu
    Copy the full SHA
    7ec294f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c56ab55 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    88fa94b View commit details
    Browse the repository at this point in the history
  5. Minor formatting fixes

    thomaseizinger committed Aug 26, 2021
    Configuration menu
    Copy the full SHA
    f1b61a6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c3fdd0b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9b1dda8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    433b3b5 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2021

  1. Configuration menu
    Copy the full SHA
    d85e38b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d5cb328 View commit details
    Browse the repository at this point in the history
  3. Allow registrations on client to expire

    This avoids a memory leak of addresses that are no longer relevant.
    thomaseizinger committed Sep 1, 2021
    Configuration menu
    Copy the full SHA
    8115ec3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dccdebc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7d6bf59 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2021

  1. Make it work without uuid

    This makes compilation on wasm simpler.
    thomaseizinger committed Sep 2, 2021
    Configuration menu
    Copy the full SHA
    e3ff6c2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8f46f84 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5e3d4a1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5696a7e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2637e45 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2021

  1. Final polish

    - Changelogs
    - No default features of `libp2p-core`
    - Cargo metadata update
    thomaseizinger committed Sep 7, 2021
    Configuration menu
    Copy the full SHA
    f8edf2f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    700bcb2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2215f02 View commit details
    Browse the repository at this point in the history
  4. Fix bad link

    thomaseizinger committed Sep 7, 2021
    Configuration menu
    Copy the full SHA
    53ce603 View commit details
    Browse the repository at this point in the history