EfficientStreamRecordConsumer

open inner class EfficientStreamRecordConsumer(val stream: Stream, val outputDataChannel: OutputConsumer = outputConsumer) : StreamRecordConsumer

Efficient implementation of StreamRecordConsumer.

It's efficient because it re-uses the same Airbyte protocol message instance from one record to the next. Not doing this generates a lot of garbage and the increased GC activity has a measurable impact on performance.

Inheritors

Constructors

Link copied to clipboard
constructor(stream: Stream, outputDataChannel: OutputConsumer = outputConsumer)

Properties

Link copied to clipboard
Link copied to clipboard
open override val stream: Stream

Functions

Link copied to clipboard
open override fun accept(recordData: NativeRecordPayload, changes: Map<Field, FieldValueChange>?)
Link copied to clipboard
open override fun close()