private bool RequiresUpdate() {
var entry = Model.Entry;
if (entry.Status != ServerStatus.Ready) {
return false;
}
var now = DateTime.Now;
if (now - entry.PreviousUpdateTime > TimeSpan.FromSeconds(5)) {
return true;
}
if (now - _sessionEndedUpdate > TimeSpan.FromMinutes(0.5) && entry.SessionEnd < now &&
entry.CurrentSessionType.HasValue && entry.CurrentSessionType.Value != Game.SessionType.Race) {
_sessionEndedUpdate = now;
return true;
}
return false;
}