Table of Contents

Interface IInputBuffer

Namespace
Coherence.Toolkit
Assembly
Coherence.Toolkit.dll
public interface IInputBuffer

Properties

Delay

Delay applied to the stored inputs.

int Delay { get; set; }

Property Value

int

LastAcknowledgedFrame

Last frame received that didn't trigger a misprediction, or -1 if nothing was acknowledged yet. Might be greater than LastConsumedFrame.

long LastAcknowledgedFrame { get; }

Property Value

long

LastConsumedFrame

Last frame that was fetched from the buffer and was not predicted.

long LastConsumedFrame { get; }

Property Value

long

LastFrame

Last (latest) frame number for which an input was stored, received or predicted. -1 if nothing was added to the buffer yet.

long LastFrame { get; }

Property Value

long

LastReceivedFrame

Last frame number that was received from the remote input producer, or -1 if nothing was received yet.

long LastReceivedFrame { get; }

Property Value

long

LastSentFrame

Last frame number that was dequeued for sending, or -1 if nothing was sent yet.

long LastSentFrame { get; }

Property Value

long

MispredictionFrame

Frame at which last prediction failure has been detected.

long? MispredictionFrame { get; }

Property Value

long?

Remarks

Value is nulled-out as soon as the input is retrieved for that or subsequent frames. For this reason this property should be inspected before any input retrieving method in a given frame in order to check whether the simulation correction is required.

Size

Size of the buffer. Dictates how many frames worth of inputs can be stored. When buffer reaches its capacity a pause is requested through the ShouldPause(long, long).

int Size { get; }

Property Value

int

Methods

Reset()

Clears the input buffer and resets its state.

void Reset()

ShouldPause(long, long)

If true, the buffer cannot do any more predictions. Client should pause the game and stop polling inputs to not lose any data required for a rollback.

bool ShouldPause(long currentFrame, long commonReceivedFrame)

Parameters

currentFrame long

Current simulation frame.

commonReceivedFrame long

Common (lowest) received frame for all inputs in the simulation.

Returns

bool

Events

OnStaleInput

Called when an input is received that is older than the oldest input in the buffer.

event StaleInputHandler OnStaleInput

Event Type

StaleInputHandler