/// <inheritdoc /> public async Task <TryValue <T> > TryGetAsync <T>( IValueKey <T> key, CancellationToken cancellation = default(CancellationToken)) { IKeyValueStoreContracts.TryGetAsync(key); cancellation.ThrowIfCancellationRequested(); var result = await this.store.TryGetAsync(key.Key, cancellation).DontMarshallContext(); return(result.HasValue ? key.TryDeserialize(result.Value.Value) : TryValue.None <T>()); }
/// <inheritdoc /> public Task RemoveAsync <T>(IValueKey <T> key, CancellationToken cancellation = default(CancellationToken)) { IKeyValueStoreContracts.RemoveAsync(key); cancellation.ThrowIfCancellationRequested(); var entity = new TEntity() { Key = key.Key, }; return(this.store.RemoveAsync(entity)); }
/// <inheritdoc /> public Task UpdateAsync <T>( IValueKey <T> key, T value, CancellationToken cancellation = default(CancellationToken)) { IKeyValueStoreContracts.UpdateAsync(key); cancellation.ThrowIfCancellationRequested(); var entity = new TEntity() { Key = key.Key, Value = key.Serialize(value), }; return(this.store.UpdateAsync(entity, cancellation)); }