Documentation ¶
Index ¶
Constants ¶
View Source
const (
EntryHeaderSize int = 8 + 8 + 8 + checksumSize
)
Variables ¶
View Source
var ( ErrInvalidBufferSize = errors.New("invalid buffer size") ErrEntryTooBig = errors.New("entry is too big") MaxEntrySize uint64 = 20000000 )
View Source
var ( ErrIndexAlreadyExists = errors.New("index already exists") ErrIndexDoesNotExist = errors.New("index does not exist") ErrInvalidIndexValue = errors.New("value to index does not respect size limit") ErrInvalidOffsetTooShort = errors.New("invalid offset: offset is too short") ErrInvalidOffsetTooBig = errors.New("invalid offset: offset is too big") ErrMMapFailed = errors.New("mmap failed") ErrFSyncFailed = errors.New("file sync failed") ErrMSyncFailed = errors.New("mmap sync failed") ErrIndexCorrupt = errors.New("index corrupt") ErrIndexClosed = errors.New("index closed") )
View Source
var ( ErrSegmentAlreadyExists = errors.New("segment already exists") ErrSegmentDoesNotExist = errors.New("segment does not exist") ErrSegmentFull = errors.New("segment is full") ErrSegmentCorrupt = errors.New("segment corrupted") ErrCorruptedEntry = errors.New("entry corrupted") )
View Source
var (
ErrCorruptedLog = errors.New("corrupted commitlog")
)
Functions ¶
func WithMaxSegmentCount ¶
func WithMaxSegmentCount(i int) createOpt
Types ¶
type CommitLog ¶
type CommitLog interface { io.Closer // WriteEntry appends a binary payload to the commitlog. WriteEntry(ts uint64, value []byte) (uint64, error) // Delete closes then deletes the commitlog from disk. Delete() error // Reader returns a seekable reader Reader() Cursor // Offset returns the offset of the next record the be written. Offset() uint64 Datadir() string //LookupTimestamp returns the seekable offset of the first record writen after the provided timestamp. LookupTimestamp(ts uint64) uint64 //Latest returns the timestamp of the most recent record Latest() uint64 GetStatistics() Statistics TruncateAfter(offset uint64) error // TruncateBefore delete segments before the one containing the provided offset TruncateBefore(offset uint64) error }
type Cursor ¶
type Cursor interface { io.ReadSeeker }
type Decoder ¶
func NewDecoder ¶
type Segment ¶
type Segment interface { Name() string BaseOffset() uint64 CurrentOffset() uint64 Size() uint64 Delete() error WriteEntry(ts uint64, buf []byte) (uint64, error) Earliest() uint64 Latest() uint64 LookupTimestamp(ts uint64) uint64 LookupPosition(offset uint64) (int64, error) TruncateAfter(offset uint64) error io.ReaderAt io.Closer }
type Statistics ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.