public bool CountTimeout(T timeoutItem) { if (timeoutItem == null) { return(false); } TimeoutManagerItemWrapper <T> timeWrapper = new TimeoutManagerItemWrapper <T>(timeoutItem, DateTime.UtcNow); return(this.timedItemsQueue.TryEnqueueIfNotExists(timeWrapper)); }
public bool Equals(TimeoutManagerItemWrapper <T> x, TimeoutManagerItemWrapper <T> y) { return(x.Item.Equals(y.Item)); }
public int GetHashCode(TimeoutManagerItemWrapper <T> obj) { return(obj.Item.GetHashCode()); }
private bool IsTimedOut(TimeoutManagerItemWrapper <T> itemWrapperToCheck) { TimeSpan itemAge = DateTime.UtcNow.Subtract(itemWrapperToCheck.Time); return(itemAge.TotalMilliseconds >= this.timeoutMilliseconds); }