Packages

class InMemoryFanoutBuffer extends NamedLogging

The in-memory fan-out buffer.

This buffer stores the last ingested maxBufferSize accepted and rejected submission updates as com.digitalasset.canton.platform.store.interfaces.TransactionLogUpdate and allows bypassing IndexDB persistence fetches for recent updates for:

  • update streams
  • command completion streams
  • by-offset and by-update-id update lookups
Annotations
@SuppressWarnings()
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InMemoryFanoutBuffer
  2. NamedLogging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new InMemoryFanoutBuffer(maxBufferSize: Int, metrics: LedgerApiServerMetrics, maxBufferedChunkSize: Int, loggerFactory: NamedLoggerFactory)

    maxBufferSize

    The maximum buffer size.

    metrics

    The Daml metrics.

    maxBufferedChunkSize

    The maximum size of buffered chunks returned by slice.

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]) @IntrinsicCandidate() @native()
  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. def flush(): Unit

    Remove all buffered entries

  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  14. val loggerFactory: NamedLoggerFactory
    Definition Classes
    InMemoryFanoutBufferNamedLogging
  15. def lookup(lookupKey: LookupKey): Option[TransactionLogUpdate]

    Lookup the accepted transaction log update by the lookup key.

  16. def lookupTransaction(offset: Offset): Option[TransactionAccepted]

    Lookup the accepted transaction update by transaction offset.

  17. def lookupTransaction(updateId: InMemoryFanoutBuffer.UpdateId): Option[TransactionAccepted]

    Lookup the accepted transaction update by transaction id.

  18. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  23. def prune(endInclusive: Offset): Unit

    Removes entries starting from the buffer head up until endInclusive.

    Removes entries starting from the buffer head up until endInclusive.

    endInclusive

    The last inclusive (highest) buffer offset to be pruned.

  24. def push(entry: TransactionLogUpdate): Unit

    Appends a new event to the buffer.

    Appends a new event to the buffer.

    Starts evicting from the tail when maxBufferSize is reached.

    entry

    The buffer entry.

  25. def slice[FILTER_RESULT](startInclusive: Offset, endInclusive: Offset, filter: (TransactionLogUpdate) => Option[FILTER_RESULT]): BufferSlice[(Offset, FILTER_RESULT)]

    Returns a slice of events from the buffer.

    Returns a slice of events from the buffer.

    startInclusive

    The start inclusive bound of the requested range.

    endInclusive

    The end inclusive bound of the requested range.

    filter

    A lambda function that allows pre-filtering the buffered elements before assembling maxBufferedChunkSize-sized slices.

    returns

    A slice of the series of events as an ordered vector satisfying the input bounds.

  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. 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

    (Since version 9)

Inherited from NamedLogging

Inherited from AnyRef

Inherited from Any

Ungrouped