Fix ulong overflow at max value #29
|
@ -104,5 +104,20 @@ namespace AccessQueueService.Data
|
|||
}
|
||||
return _accessTickets.Remove(userId);
|
||||
}
|
||||
|
||||
public void Optimize()
|
||||
{
|
||||
DeleteExpiredTickets();
|
||||
|
||||
var newQueue = new Dictionary<ulong, AccessTicket>();
|
||||
var newQueueNumbers = new Dictionary<string, ulong>();
|
||||
ulong newIndex = 0;
|
||||
for (ulong i = _nowServing; i < _nextUnusedTicket; i++)
|
||||
{
|
||||
var user = _accessQueue[i];
|
||||
newQueue[newIndex] = user;
|
||||
newQueueNumbers[user.UserId] = newIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue