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.
Lightyear had two modes for replication:
This serves as a bandwidth optimization to avoid cases where you update a component once and you send multiple updates:
The necessary building blocs for this feature is probably providing an API where the message layer can provide ACK/NACK for individual messages.