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);
            }
        }
Example #4
0
 public SAFENetworkEventService(IStreamAD stream, IImDStore imdStore, string pwd)
 {
     _stream   = stream;
     _imdStore = imdStore;
     _pwd      = pwd;
 }