HouraiTeahouse/backroll-rs

Tracking Issue: Migrate transport level logic into backroll-transport

james7132 opened this issue · 0 comments

There are a notable amount of the application level protocol that belongs in a lower level implementation. The heartbeat, the initial synchronization, the magic number management, sequence number, and disconnect timeout are all to establish a unreliable but ordered connection, something Laminar and other reliable UDP implementations already support. This should exist at the backroll-transport layer. A good amount of this is already established in TimonPost/laminar#290, and this change be considered a step towards implementing backroll-transport's connection model in Laminar.

  • Create a wrapper around Peer for ordered unreliable sends. OrderedPeer?
  • Add a way to notify the main game of incoming connections.
  • Alter Peer to notify either end of a network interruption.
  • Move "Synchronizing, Running, Interrupted, Disconnected" state machine to the transport layer.
  • Move heartbeat task into OrderedPeer