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:

  • flat and transaction tree streams
  • command completion streams
  • by-event-id and by-transaction-id flat and transaction tree 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: Metrics, 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]) @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. def flush(): Unit

    Remove all buffered entries

  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  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(transactionId: InMemoryFanoutBuffer.TransactionId): Option[Traced[TransactionAccepted]]

    Lookup the accepted transaction update by transaction id.

  16. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. 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.

  22. def push(offset: Offset, entry: Traced[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.

    offset

    The event offset. Must be higher than the last appended entry's offset.

    entry

    The buffer entry.

  23. def slice[FILTER_RESULT](startExclusive: Offset, endInclusive: Offset, filter: (Traced[TransactionLogUpdate]) => Option[FILTER_RESULT]): BufferSlice[(Offset, FILTER_RESULT)]

    Returns a slice of events from the buffer.

    Returns a slice of events from the buffer.

    startExclusive

    The start exclusive 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.

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