public sealed class ClientTransferThe client's half of the overlap: hold two sessions, switch at a tick, and rebase the clock.
Remarks
⚠ Every state before Switched is one the player is still playing in. The second session exists so the map can be fetched and the first snapshot can arrive while they walk around on the first; a client that stopped rendering at Connecting would turn a preload back into a loading screen and give up everything the protocol is for.
⚠ Abandoning is not a failure the player sees. The first session was never closed, so an abort is a second session quietly going away. Doc 27: every abort leaves the player where they already were, which is always a valid state.
Fields and properties (5)
public ClientTransferState StateWhere it has got to.
public TransferPrepare? PrepareWhat the source told it, once told.
public int PredictionResetsHow many times this client has reset its prediction — doc 27's `PredictionResetCount`.
public TickRebase RebaseThe rebase in flight, once there is a second clock to converge on.
public bool SourceIsAuthoritativeWhether the client should still be simulating and rendering the source realm.
Methods (8)
public bool Prepared(TransferPrepare prepare, RealmVersion ourVersion)Told where to go. t2.
public bool Connected(long ourTick)The second session handshook and the realm admitted it dormant. t3.
public bool Loaded()The map is loaded and the first snapshot has arrived. t4.
public void Observed(long sourceTick, long targetTick)A better estimate of the target's clock, from a snapshot during the overlap.
public bool Committed(TransferCommit commit)The source said to switch. t6.
public bool Abandon()It did not happen. Close the second session and carry on.
public void Settle()The switch is complete and this client is settled on the new realm.
public override string ToString()Returns a string that represents the current object.
Used by (4)
- ClientTransferTestsVixen.Live.Transfer.Tests
- TransferFleetVixen.Live.Realm.Tests
- TransferOracleTestsVixen.Live.Realm.Tests
- TravellerVixen.Live.Realm.Tests