Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 public InMemoryStreamReaderActor(InMemoryStreamReader <TEntry> reader) => _reader = reader;