term

package
v0.0.0-...-2b92083 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// AppenderTripped is returned when the end of the term has been reached and buffer roll was done
	AppenderTripped int64 = -1

	// AppenderFailed is returned when appending is not possible due to position being outside of the term. ??
	AppenderFailed int64 = -2
)

Variables

This section is empty.

Functions

func Read

func Read(termBuffer *atomic.Buffer, termOffset int32, handler FragmentHandler, fragmentsLimit int,
	header *logbuffer.Header) (int32, int)

Read will attempt to read the next frame from the term and invoke the callback if successful. Method will return a tuple of new term offset and number of fragments read

Types

type Appender

type Appender struct {
	// contains filtered or unexported fields
}

Appender type is the term writer

func MakeAppender

func MakeAppender(logBuffers *logbuffer.LogBuffers, partitionIndex int) *Appender

MakeAppender is the factory function for term Appenders

func (*Appender) AppendFragmentedMessage

func (appender *Appender) AppendFragmentedMessage(srcBuffer *atomic.Buffer, srcOffset int32, length int32,
	maxPayloadLength int32, reservedValueSupplier ReservedValueSupplier) (resultingOffset int64, termID int32)

AppendFragmentedMessage appends a message greater than frame length as a batch of fragments

func (*Appender) AppendUnfragmentedMessage

func (appender *Appender) AppendUnfragmentedMessage(srcBuffer *atomic.Buffer, srcOffset int32, length int32,
	reservedValueSupplier ReservedValueSupplier) (resultingOffset int64, termID int32)

AppendUnfragmentedMessage appends an unfragmented message in a single frame to the term

func (*Appender) Claim

func (appender *Appender) Claim(length int32, claim *logbuffer.Claim) (termOffset int64, termID int32)

Claim is the interface for using Buffer Claims for zero copy sends

func (*Appender) RawTail

func (appender *Appender) RawTail() int64

RawTail is the accessor to the raw value of the tail offset used by Publication

func (*Appender) SetRawTail

func (appender *Appender) SetRawTail(v int64)

SetRawTail sets the raw value of the tail. It should not be used outside of testing

func (*Appender) SetTailTermID

func (appender *Appender) SetTailTermID(termID int32)

type FragmentHandler

type FragmentHandler func(buffer *atomic.Buffer, offset int32, length int32, header *logbuffer.Header)

FragmentHandler is the main callback interface for received data

type ReservedValueSupplier

type ReservedValueSupplier func(termBuffer *atomic.Buffer, termOffset int32, length int32) int64

ReservedValueSupplier is the type definition for a provider of user supplied header data

var DefaultReservedValueSupplier ReservedValueSupplier = func(termBuffer *atomic.Buffer, termOffset int32, length int32) int64 {
	return 0
}

DefaultReservedValueSupplier is the default reserved value provider

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL