class BufferedStreamsReader[PERSISTENCE_FETCH_ARGS, API_RESPONSE] extends NamedLogging
Generic class that helps serving Ledger API streams (e.g. transactions, completions) from either the in-memory fan-out buffer or from persistence depending on the requested offset range.
- PERSISTENCE_FETCH_ARGS
The Ledger API streams filter type of fetches from persistence.
- API_RESPONSE
The API stream response type.
- Alphabetic
- By Inheritance
- BufferedStreamsReader
- NamedLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new BufferedStreamsReader(inMemoryFanoutBuffer: InMemoryFanoutBuffer, fetchFromPersistence: FetchFromPersistence[PERSISTENCE_FETCH_ARGS, API_RESPONSE], bufferedStreamEventsProcessingParallelism: Int, metrics: Metrics, streamName: String, loggerFactory: NamedLoggerFactory)(implicit executionContext: ExecutionContext)
- inMemoryFanoutBuffer
The in-memory fan-out buffer.
- fetchFromPersistence
Fetch stream events from persistence.
- bufferedStreamEventsProcessingParallelism
The processing parallelism for buffered elements payloads to API responses.
- metrics
Daml metrics.
- streamName
The name of a Ledger API stream. Used as a discriminator in metric registry names construction.
- executionContext
The execution context
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: TracedLogger
- Attributes
- protected
- Definition Classes
- NamedLogging
- val loggerFactory: NamedLoggerFactory
- Attributes
- protected
- Definition Classes
- BufferedStreamsReader → NamedLogging
- implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noTracingLogger: Logger
- Attributes
- protected
- Definition Classes
- NamedLogging
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def stream[BUFFER_OUT](startExclusive: Offset, endInclusive: Offset, persistenceFetchArgs: PERSISTENCE_FETCH_ARGS, bufferFilter: (Traced[TransactionLogUpdate]) => Option[BUFFER_OUT], toApiResponse: (BUFFER_OUT) => Future[API_RESPONSE], multiDomainEnabled: Boolean)(implicit loggingContext: LoggingContextWithTrace): Source[(Offset, API_RESPONSE), NotUsed]
Serves processed and filtered events from the buffer, with fallback to persistence fetches if the bounds are not within the buffer range bounds.
Serves processed and filtered events from the buffer, with fallback to persistence fetches if the bounds are not within the buffer range bounds.
- BUFFER_OUT
The output type of elements retrieved from the buffer.
- startExclusive
The start exclusive offset of the search range.
- endInclusive
The end inclusive offset of the search range.
- persistenceFetchArgs
The filter used for fetching the Ledger API stream responses from persistence.
- bufferFilter
The filter used for filtering when searching within the buffer.
- toApiResponse
To Ledger API stream response converter.
- loggingContext
The logging context.
- returns
The Ledger API stream source.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])