private void TranslateAndPublish(IEventTranslator <TEvent> translator, long sequence) { try { translator.TranslateTo(Get(sequence), sequence); } finally { Sequencer.Publish(sequence); } }
private void TranslateAndPublish(IEventTranslator <T> translator, long sequence) { try { translator.TranslateTo(this[sequence], sequence); } finally { _fields.Sequencer.Publish(sequence); } }
private void TranslateAndPublishBatch(IEventTranslator <T>[] translators, int batchStartsAt, int batchSize, long finalSequence) { long initialSequence = finalSequence - (batchSize - 1); try { long sequence = initialSequence; int batchEndsAt = batchStartsAt + batchSize; for (int i = batchStartsAt; i < batchEndsAt; i++) { IEventTranslator <T> translator = translators[i]; translator.TranslateTo(this[sequence], sequence++); } } finally { _sequencerDispatcher.Sequencer.Publish(initialSequence, finalSequence); } }