Class LogStreamBatchWriterImpl
java.lang.Object
io.camunda.zeebe.logstreams.impl.log.LogStreamBatchWriterImpl
- All Implemented Interfaces:
LogStreamBatchWriter,LogStreamBatchWriter.LogEntryBuilder,LogStreamWriter
public final class LogStreamBatchWriterImpl
extends Object
implements LogStreamBatchWriter, LogStreamBatchWriter.LogEntryBuilder
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.camunda.zeebe.logstreams.log.LogStreamBatchWriter
LogStreamBatchWriter.LogEntryBuilder -
Method Summary
Modifier and TypeMethodDescriptionvoiddone()Add the log entry to the batch.event()Returns the builder to add a new log entry to the batch.intkey(long key) Set the log entry key.keyNull()Use the default values as key.metadata(org.agrona.DirectBuffer buffer) Set the log entry metadata.metadata(org.agrona.DirectBuffer buffer, int offset, int length) Set the log entry metadata.metadataWriter(BufferWriter writer) Set the log entry metadata.voidreset()Discard all non-written batch data.sourceIndex(int index) Can be used if command and event, which is caused by this command is written in batch.sourceRecordPosition(long position) Set the source event for all log entries.longtryWrite()Attempts to write the event to the underlying stream.value(org.agrona.DirectBuffer value) Set the log entry value.value(org.agrona.DirectBuffer value, int valueOffset, int valueLength) Set the log entry value.valueWriter(BufferWriter writer) Set the log entry value.
-
Method Details
-
sourceRecordPosition
Description copied from interface:LogStreamBatchWriterSet the source event for all log entries.- Specified by:
sourceRecordPositionin interfaceLogStreamBatchWriter
-
event
Description copied from interface:LogStreamBatchWriterReturns the builder to add a new log entry to the batch.- Specified by:
eventin interfaceLogStreamBatchWriter
-
getMaxFragmentLength
public int getMaxFragmentLength()- Specified by:
getMaxFragmentLengthin interfaceLogStreamBatchWriter
-
reset
public void reset()Description copied from interface:LogStreamBatchWriterDiscard all non-written batch data.- Specified by:
resetin interfaceLogStreamBatchWriter
-
keyNull
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderUse the default values as key.- Specified by:
keyNullin interfaceLogStreamBatchWriter.LogEntryBuilder
-
key
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderSet the log entry key.- Specified by:
keyin interfaceLogStreamBatchWriter.LogEntryBuilder
-
sourceIndex
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderCan be used if command and event, which is caused by this command is written in batch.- Specified by:
sourceIndexin interfaceLogStreamBatchWriter.LogEntryBuilder- Parameters:
index- the index in this batch
-
metadata
public LogStreamBatchWriter.LogEntryBuilder metadata(org.agrona.DirectBuffer buffer, int offset, int length) Description copied from interface:LogStreamBatchWriter.LogEntryBuilderSet the log entry metadata.- Specified by:
metadatain interfaceLogStreamBatchWriter.LogEntryBuilder
-
metadata
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderSet the log entry metadata.- Specified by:
metadatain interfaceLogStreamBatchWriter.LogEntryBuilder
-
metadataWriter
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderSet the log entry metadata.- Specified by:
metadataWriterin interfaceLogStreamBatchWriter.LogEntryBuilder
-
value
public LogStreamBatchWriter.LogEntryBuilder value(org.agrona.DirectBuffer value, int valueOffset, int valueLength) Description copied from interface:LogStreamBatchWriter.LogEntryBuilderSet the log entry value.- Specified by:
valuein interfaceLogStreamBatchWriter.LogEntryBuilder
-
value
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderSet the log entry value.- Specified by:
valuein interfaceLogStreamBatchWriter.LogEntryBuilder
-
valueWriter
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderSet the log entry value.- Specified by:
valueWriterin interfaceLogStreamBatchWriter.LogEntryBuilder
-
done
Description copied from interface:LogStreamBatchWriter.LogEntryBuilderAdd the log entry to the batch.- Specified by:
donein interfaceLogStreamBatchWriter.LogEntryBuilder
-
copyExistingEventToBuffer
public void copyExistingEventToBuffer() -
tryWrite
public long tryWrite()Description copied from interface:LogStreamWriterAttempts to write the event to the underlying stream.- Specified by:
tryWritein interfaceLogStreamWriter- Returns:
- the event position or a negative value if fails to write the event
-