Packages

c

com.digitalasset.canton.platform.store.dao

BufferedStreamsReader

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BufferedStreamsReader
  2. NamedLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  13. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    BufferedStreamsReaderNamedLogging
  14. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. 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.

  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Inherited from NamedLogging

Inherited from AnyRef

Inherited from Any

Ungrouped