InputBuffer<T>
Type Parameters
T
Constructors
| InputBuffer(int, int, bool, EqualityComparer<T>) |
Properties
| Delay | Delay applied to the stored inputs. |
| LastAcknowledgedFrame | Last frame received that didn't trigger a misprediction, or -1 if nothing was acknowledged yet. Might be greater than LastConsumedFrame. |
| LastConsumedFrame | Last frame that was fetched from the buffer and was not predicted. |
| LastFrame | Last (latest) frame number for which an input was stored, received or predicted. -1 if nothing was added to the buffer yet. |
| LastInput | Last (latest) known input, or |
| LastReceivedFrame | Last frame number that was received from the remote input producer, or -1 if nothing was received yet. |
| LastSentFrame | Last frame number that was dequeued for sending, or -1 if nothing was sent yet. |
| MispredictionFrame | Frame at which last prediction failure has been detected. |
| 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). |
Methods
| AddInput(in T, long) | Adds an input to the buffer for a given frame. If the Delay is set, the |
| DequeueForSending(long, out long, out T, out bool) | Dequeues next input from the buffer that hasn't been sent yet. Progresses the internal LastSentFrame counter. |
| ReceiveInput(in T, long) | |
| Reset() | Clears the input buffer and resets its state. |
| 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. |
| TryGetInput(long, out T, bool) | Retrieves input from the buffer for a given frame. |
Events
| OnStaleInput | Called when an input is received that is older than the oldest input in the buffer. |