public void CompensationSnapshot() { var sessionObjects = _contexts.session.serverSessionObjects; int snapshotSeq = sessionObjects.GetNextSnapshotSeq(); int vehicleSimulationTime = sessionObjects.SimulationTimer.CurrentTime; int serverTime = _contexts.session.currentTimeObject.CurrentTime; ISnapshot compensationSnapshot = _snapshotFactory.GenerateCompensationSnapshot(); compensationSnapshot.ServerTime = serverTime; compensationSnapshot.SnapshotSeq = snapshotSeq; compensationSnapshot.VehicleSimulationTime = vehicleSimulationTime; _compensationSnapshotPool.AddSnapshot(compensationSnapshot); compensationSnapshot.ReleaseReference(); }
public void Dispose() { foreach (var snapshot in _sentSnapshot.Values) { snapshot.ReleaseReference(); } _sentSnapshot.Clear(); _sentSnapshot = null; _snapshotQueue.Clear(); _snapshotQueue = null; _emptySnapshot.ReleaseReference(); _emptySnapshot = null; }