public async Task<Result<Pointer>> SetAsync(IAsyncEnumerable<T> reordered) { IStreamAD newStream = await _dataTreeFactory.CreateAsync((t) => throw new NotSupportedException()); await foreach (var elem in reordered) await newStream.AppendAsync(new StoredValue(elem)); return await _root.SetAsync(new StoredValue(newStream.MdLocator)); }
async Task <T> GetCurrentState <T>(IStreamAD stream, Data.Client.IImDStore store) { var snapshotReading = await stream.ReadFromSnapshot(); var snapshotData = await store.GetImDAsync(snapshotReading.Value.SnapshotMap); var snapshot = snapshotData.Parse <Snapshot>(); var currentState = await SnapshotFunc(snapshot, snapshotReading.Value.NewEvents.Select(c => c.Item2.Parse <T>())); return(currentState.GetState <T>()); }
async Task AppendToStream(IStreamAD stream, int addCount) { for (int i = 0; i < addCount; i++) { var theData = new StoredValue(i); var addResult = await stream.AppendAsync(theData).ConfigureAwait(false); Assert.IsNotNull(addResult); Assert.IsInstanceOfType(addResult, typeof(Result <Pointer>)); Assert.IsTrue(addResult.HasValue); } }
public SAFENetworkEventService(IStreamAD stream, IImDStore imdStore, string pwd) { _stream = stream; _imdStore = imdStore; _pwd = pwd; }