Skip to content

gossipsub: Lazy sending #850

Open
Open

Description

Consider:

  • peer A sends a message to us which is sent to validation - peer B sends the same message to us and when the message validates, we skip sending it to peer B
  • however, we still send the data to peer C and D
  • sending data to peed C takes time - for example, streaming 1mb to peer C takes 1s on a 10mbit line
  • peer D completes sending the same message to us

In the above, we can skip sending to peer D as well - to make this work:

  • track the completion of "sending" to peer C
  • when the future completes, check if sending to D is still relevant

Problems:

  • C might be slow which increases latency of sending to D
    • send to Dmin peers, then use lazy sending for the rest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    • Status

      Experimental

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions