Enum crystalorb::client::FastforwardingHealth [−][src]
pub enum FastforwardingHealth { Healthy, Obsolete, Overshot, }
Expand description
Fastforwarding the server’s snapshot to the current timestamp can take multiple update cycles. During this time, different external situations can cause the fastfowarding process to abort in an unexpected way. This enum describes these possible situations.
Variants
Exactly as the name implies. Fastforwarding continues as normal.
If a new server snapshot arrives before the current server snapshot has finished fastfowarding, and for some reason this server snapshot has a timestamp newer than the current fastforwarded snapshot timestamp, then we mark the current fastforwarded snapshot as obsolete as it is even further behind than the latest snapshot. This newer snapshot then replaces the current new-world state, and the fast-forwarding continues.
Essentially, this is like taking a shortcut, and is important whenever the client performs a timeskip. The new world timestamp could suddenly become very far behind, and we don’t want the client to become stuck trying to fastforward this very “old” server snapshot.
When the client perform timeskips, weird things can happen to existing timestamps and the current new world timestamp that we are trying to fastforward may end up ahead of the current timestamp.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for FastforwardingHealth
impl Send for FastforwardingHealth
impl Sync for FastforwardingHealth
impl Unpin for FastforwardingHealth
impl UnwindSafe for FastforwardingHealth