public EpochManager(IPublisher bus, int cachedEpochCount, ICheckpoint checkpoint, ITransactionFileWriter writer, int initialReaderCount, int maxReaderCount, Func <ITransactionFileReader> readerFactory) { Ensure.NotNull(bus, "bus"); Ensure.Nonnegative(cachedEpochCount, "cachedEpochCount"); Ensure.NotNull(checkpoint, "checkpoint"); Ensure.NotNull(writer, "chunkWriter"); Ensure.Nonnegative(initialReaderCount, "initialReaderCount"); Ensure.Positive(maxReaderCount, "maxReaderCount"); if (initialReaderCount > maxReaderCount) { throw new ArgumentOutOfRangeException("initialReaderCount", "initialReaderCount is greater than maxReaderCount."); } Ensure.NotNull(readerFactory, "readerFactory"); _bus = bus; CachedEpochCount = cachedEpochCount; _checkpoint = checkpoint; _readers = new ObjectPool <ITransactionFileReader>("EpochManager readers pool", initialReaderCount, maxReaderCount, readerFactory); _writer = writer; }
public void SetUp() { _writerCheckpoint = new InMemoryCheckpoint(); _db = new TFChunkDb(TFChunkHelper.CreateDbConfig(PathName, _writerCheckpoint, new InMemoryCheckpoint(), 1024)); _db.Open(); _writer = new TFChunkWriter(_db); _writer.Open(); var recordFactory = LogFormatHelper <TLogFormat, TStreamId> .RecordFactory; var streamId = LogFormatHelper <TLogFormat, TStreamId> .StreamId; var eventTypeId = LogFormatHelper <TLogFormat, TStreamId> .EventTypeId; _record = LogRecord.Prepare( factory: recordFactory, logPosition: 0, eventId: _eventId, correlationId: _correlationId, transactionPos: 0xDEAD, transactionOffset: 0xBEEF, eventStreamId: streamId, expectedVersion: 1234, timeStamp: new DateTime(2012, 12, 21), flags: PrepareFlags.SingleWrite, eventType: eventTypeId, data: new byte[] { 1, 2, 3, 4, 5 }, metadata: new byte[] { 7, 17 }); long newPos; _writer.Write(_record, out newPos); _writer.Flush(); }
public void SetUp() { _writerCheckpoint = new InMemoryCheckpoint(); _db = new TFChunkDb(new TFChunkDbConfig(PathName, new VersionedPatternFileNamingStrategy(PathName, "chunk-"), 1024, 0, _writerCheckpoint, new InMemoryCheckpoint(), new InMemoryCheckpoint(-1), new InMemoryCheckpoint(-1))); _db.Open(); _writer = new TFChunkWriter(_db); _writer.Open(); _record = new PrepareLogRecord(logPosition: 0, eventId: _eventId, correlationId: _correlationId, transactionPosition: 0xDEAD, transactionOffset: 0xBEEF, eventStreamId: "WorldEnding", expectedVersion: 1234, timeStamp: new DateTime(2012, 12, 21), flags: PrepareFlags.SingleWrite, eventType: "type", data: new byte[] { 1, 2, 3, 4, 5 }, metadata: new byte[] {7, 17}); long newPos; _writer.Write(_record, out newPos); _writer.Flush(); }
public void SetUp() { _writerCheckpoint = new InMemoryCheckpoint(); _db = new TFChunkDb(TFChunkHelper.CreateDbConfig(PathName, _writerCheckpoint, new InMemoryCheckpoint(), 1024)); _db.Open(); _writer = new TFChunkWriter(_db); _writer.Open(); _record = new PrepareLogRecord(logPosition: 0, eventId: _eventId, correlationId: _correlationId, transactionPosition: 0xDEAD, transactionOffset: 0xBEEF, eventStreamId: "WorldEnding", expectedVersion: 1234, timeStamp: new DateTime(2012, 12, 21), flags: PrepareFlags.SingleWrite, eventType: "type", data: new byte[] { 1, 2, 3, 4, 5 }, metadata: new byte[] { 7, 17 }); long newPos; _writer.Write(_record, out newPos); _writer.Flush(); }
public PartitionManager( ITransactionFileReader reader, ITransactionFileWriter writer, LogV3RecordFactory recordFactory) { _reader = reader; _writer = writer; _recordFactory = recordFactory; }
public void Write(string fileName, List <Transaction> transactions) { logger.Info($"Writing transactions to {fileName}"); string extension = fileName.Split('.').Last(); ITransactionFileWriter fileWriter = GetWriterForExtension(extension); fileWriter.Write(fileName, transactions); logger.Info($"Successfully written transactions to {fileName}"); Console.WriteLine($"Successfully written transactions to {fileName}"); }
public void SetUp() { _writerCheckpoint = new InMemoryCheckpoint(); _db = new TFChunkDb(TFChunkHelper.CreateDbConfig(PathName, _writerCheckpoint, new InMemoryCheckpoint(), 1024)); _db.Open(); _writer = new TFChunkWriter(_db); _writer.Open(); _record = new CommitLogRecord(logPosition: 0, correlationId: _eventId, transactionPosition: 4321, timeStamp: new DateTime(2012, 12, 21), firstEventNumber: 10); long newPos; _writer.Write(_record, out newPos); _writer.Flush(); }
public StorageWriter(IPublisher bus, ISubscriber subscriber, ITransactionFileWriter writer, IReadIndex readIndex) { Ensure.NotNull(bus, "bus"); Ensure.NotNull(subscriber, "subscriber"); Ensure.NotNull(writer, "writer"); Ensure.NotNull(readIndex, "readIndex"); _bus = bus; _readIndex = readIndex; _flushDelay = 0; _lastFlush = _watch.ElapsedTicks; _writer = writer; _writer.Open(); _framer.RegisterMessageArrivedCallback(OnLogRecordArrived); SetupMessaging(subscriber); }
public EpochManager(int cachedEpochCount, ICheckpoint checkpoint, ITransactionFileWriter writer, int initialReaderCount, int maxReaderCount, Func<ITransactionFileReader> readerFactory) { Ensure.Nonnegative(cachedEpochCount, "cachedEpochCount"); Ensure.NotNull(checkpoint, "checkpoint"); Ensure.NotNull(writer, "chunkWriter"); Ensure.Nonnegative(initialReaderCount, "initialReaderCount"); Ensure.Positive(maxReaderCount, "maxReaderCount"); if (initialReaderCount > maxReaderCount) throw new ArgumentOutOfRangeException("initialReaderCount", "initialReaderCount is greater than maxReaderCount."); Ensure.NotNull(readerFactory, "readerFactory"); CachedEpochCount = cachedEpochCount; _checkpoint = checkpoint; _readers = new ObjectPool<ITransactionFileReader>("EpochManager readers pool", initialReaderCount, maxReaderCount, readerFactory); _writer = writer; }
public void SetUp() { _writerCheckpoint = new InMemoryCheckpoint(); _db = new TFChunkDb(new TFChunkDbConfig(PathName, new VersionedPatternFileNamingStrategy(PathName, "chunk-"), 1024, 0, _writerCheckpoint, new InMemoryCheckpoint(), new ICheckpoint[0])); _db.OpenVerifyAndClean(); _writer = new TFChunkWriter(_db); _writer.Open(); _record = new CommitLogRecord(logPosition: 0xFEED, correlationId: _eventId, transactionPosition: 4321, timeStamp: new DateTime(2012, 12, 21), firstEventNumber: 10); long newPos; _writer.Write(_record, out newPos); _writer.Flush(); }
public EpochManager(IPublisher bus, int cachedEpochCount, ICheckpoint checkpoint, ITransactionFileWriter writer, int initialReaderCount, int maxReaderCount, Func <ITransactionFileReader> readerFactory, IRecordFactory <TStreamId> recordFactory, INameIndex <TStreamId> streamNameIndex, INameIndex <TStreamId> eventTypeIndex, IPartitionManager partitionManager, Guid instanceId) { Ensure.NotNull(bus, "bus"); Ensure.Nonnegative(cachedEpochCount, "cachedEpochCount"); Ensure.NotNull(checkpoint, "checkpoint"); Ensure.NotNull(writer, "chunkWriter"); Ensure.Nonnegative(initialReaderCount, "initialReaderCount"); Ensure.Positive(maxReaderCount, "maxReaderCount"); if (initialReaderCount > maxReaderCount) { throw new ArgumentOutOfRangeException(nameof(initialReaderCount), "initialReaderCount is greater than maxReaderCount."); } Ensure.NotNull(readerFactory, "readerFactory"); _bus = bus; _cacheSize = cachedEpochCount; _checkpoint = checkpoint; _readers = new ObjectPool <ITransactionFileReader>("EpochManager readers pool", initialReaderCount, maxReaderCount, readerFactory); _writer = writer; _recordFactory = recordFactory; _streamNameIndex = streamNameIndex; _eventTypeIndex = eventTypeIndex; _partitionManager = partitionManager; _instanceId = instanceId; }
public void SetUp() { _writerCheckpoint = new InMemoryCheckpoint(); _db = new TFChunkDb(new TFChunkDbConfig(PathName, new VersionedPatternFileNamingStrategy(PathName, "chunk-"), 1024, 0, _writerCheckpoint, new InMemoryCheckpoint(), new ICheckpoint[0])); _db.OpenVerifyAndClean(); _writer = new TFChunkWriter(_db); _writer.Open(); _record = new CommitLogRecord(logPosition: 0xFEED, correlationId: _eventId, transactionPosition: 4321, timeStamp: new DateTime(2012, 12, 21), eventNumber: 10); long newPos; _writer.Write(_record, out newPos); _writer.Flush(); }