public override ICompletes <IStreamReader <T>?> StreamReader(string name) { IStreamReader <T>?reader = null; if (!_journalReaders.ContainsKey(name)) { var castedDictionary = new Dictionary <string, State <T> >(); foreach (var snapshotPair in _snapshots) { castedDictionary.Add(snapshotPair.Key, (State <T>)(object) snapshotPair.Value); } reader = new InMemoryStreamReader <T>(_journal.Cast <BaseEntry>().ToList(), _streamIndexes, castedDictionary, name); _streamReaders.Add(name, reader); } return(Completes.WithSuccess(reader)); }
public InMemoryStreamReaderActor(InMemoryStreamReader <TEntry> reader) => _reader = reader;