public int Compare(OrderedKey <T> x, OrderedKey <T> y) { int result = _keyComparer.Compare(x.Key, y.Key); if (result == 0) { result = -1 * _orderComparer.Compare(x.Order, y.Order); //min first - FIFO } return(result); }
public void ApplyOrderingValues(string uniqueName, OrderedKey[] orderedKeys) { var index = _indexes[uniqueName]; index.Storage.ApplyOrderingValues(orderedKeys); }
public void Enqueue(TPriority priority, TValue value) { var key = new OrderedKey <TPriority>(priority, _insertionOrderCounter++); _priorityQueue.Enqueue(key, value); }