LocalLog

class LocalLog<M>(rootPath: Path, codec: MessageCodec<M>, instantSource: InstantSource, val epoch: Int, val useInstantSourceForNonTx: Boolean, coroutineContext: CoroutineContext = Dispatchers.IO, logFileName: String = "LOG") : Log<M>

Constructors

Link copied to clipboard
constructor(rootPath: Path, codec: MessageCodec<M>, instantSource: InstantSource, epoch: Int, useInstantSourceForNonTx: Boolean, coroutineContext: CoroutineContext = Dispatchers.IO, logFileName: String = "LOG")

Types

Link copied to clipboard
object Companion
Link copied to clipboard
@SerialName(value = "!Local")
@Serializable
data class Factory @JvmOverloads constructor(val path: Path, var instantSource: InstantSource = InstantSource.system(), var epoch: Int = 0, var useInstantSourceForNonTx: Boolean = false, var coroutineContext: CoroutineContext = Dispatchers.IO) : Log.Factory

Used to set configuration options for a local directory based XTDB Log.

Properties

Link copied to clipboard
open override val epoch: Int
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open suspend override fun appendMessage(message: M): Log.MessageMetadata
Link copied to clipboard
Link copied to clipboard
open override fun close()
Link copied to clipboard
open override fun openAtomicProducer(transactionalId: String): Log.AtomicProducer<M>
Link copied to clipboard
open suspend override fun openGroupSubscription(listener: Log.SubscriptionListener<M>)
Link copied to clipboard
open override fun readLastMessage(): M?
Link copied to clipboard
open override fun readRecords(fromMsgId: MessageId, toMsgId: MessageId): Sequence<Log.Record<M>>

Reads records in the range [fromMsgId, toMsgId) (start-inclusive, end-exclusive). Returns a lazy sequence of decoded records in offset order. If toMsgId exceeds the latest submitted offset, reads up to the latest available record.

Link copied to clipboard
open suspend override fun tailAll(afterMsgId: MessageId, processor: Log.RecordProcessor<M>)