Skip to content

Add SinceLastSend replication mode #697

Description

@cBournhonesque

Lightyear had two modes for replication:

  • SinceLastAck: send components that changed since the last time we received an ACK from the receiver that the update was received. I believe this is what replicon is doing now
  • SinceLastSend: send components that changed since the last time we sent a replication message. This works because in most conditions users have <1% packet loss, so sending a packet is almost equivalent to receiving an ack for it. We then need to be able to detect NACKs, in which case we do re-send updates since the last ack

This serves as a bandwidth optimization to avoid cases where you update a component once and you send multiple updates:

  • Send A1
  • Send A1 since we didn't receive an ACK
  • Send A1 since we didn't receive an ACK
  • ACK A1: stop sending

The necessary building blocs for this feature is probably providing an API where the message layer can provide ACK/NACK for individual messages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions