private void ProcessEvents() { foreach (var @event in _eventsCollectionForProcess.GetConsumingEnumerable()) { _storage.AddOrUpdate(@event.ToString(), new EventData()); } }
/// <summary> /// Tries to add or update an existing value associated to the <paramref name="key"/>. /// </summary> public static Task <TValue> AddOrUpdate <TKey, TValue>( this IStorage <TKey, TValue> storage, TKey key, TValue value, CancellationToken token = default) => storage.AddOrUpdate( key, _ => Task.FromResult(value), (_, _) => Task.FromResult(value), token);
/// <summary> /// Tries to add or update an existing value associated to the <paramref name="key"/>. /// </summary> public static Task <TValue> AddOrUpdate <TKey, TValue>( this IStorage <TKey, TValue> storage, TKey key, Func <TKey, TValue> addFactory, Func <TKey, TValue, TValue> updateFactory, CancellationToken token = default) => storage.AddOrUpdate( key, k => Task.FromResult(addFactory(k)), (k, old) => Task.FromResult(updateFactory(k, old)), token);
public override void Handle(ref InsertRequest request, IStorage storage, Socket client) { storage.AddOrUpdate(request.Key, request.ExpiryDate, request.Object); Reply(true, client); }
private void ProcessEvents(Guid @event) { _storage.AddOrUpdate(@event.ToString(), new EventData()); }