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()
- Alphabetic
- By Inheritance
- InMemoryFanoutBuffer
- NamedLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- 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
- def flush(): Unit
Remove all buffered entries
- 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
- Definition Classes
- InMemoryFanoutBuffer → NamedLogging
- def lookup(transactionId: InMemoryFanoutBuffer.TransactionId): Option[Traced[TransactionAccepted]]
Lookup the accepted transaction update by transaction id.
- 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 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.
- 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.
- 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.
- 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])