wal

package
v0.0.0-...-be256ff Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2022 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const MAX_COMMITTED_PAGES int = 256

TODO: Move to config

Variables

This section is empty.

Functions

This section is empty.

Types

type PersistRunner

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

func (*PersistRunner) Close

func (w *PersistRunner) Close() error

func (*PersistRunner) Write

func (w *PersistRunner) Write(e command.Command) error

type WalCounter

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

func (*WalCounter) Next

func (w *WalCounter) Next() (uint64, error)

func (*WalCounter) Now

func (w *WalCounter) Now() uint64

func (*WalCounter) Open

func (w *WalCounter) Open(file string) error

type WalEntryMap

type WalEntryMap map[uint64]*WalReadResult

type WalFileResolver

type WalFileResolver struct {
	Config *util.Config
}

func (WalFileResolver) AllFiles

func (w WalFileResolver) AllFiles() ([]string, error)

func (WalFileResolver) Counter

func (w WalFileResolver) Counter() string

func (WalFileResolver) FullPath

func (w WalFileResolver) FullPath(filename string) string

func (WalFileResolver) NewFile

func (w WalFileResolver) NewFile(txid uint64) (*os.File, string, error)

type WalFlusher

type WalFlusher struct {
	FileResolver *WalFileResolver
	Disk         *disk.Disk
	// contains filtered or unexported fields
}

func NewWalFlusher

func NewWalFlusher(resolver *WalFileResolver, disk *disk.Disk) WalFlusher

func (*WalFlusher) FlushWal

func (w *WalFlusher) FlushWal(files []string) error

type WalLogReader

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

func (WalLogReader) ListCommittedAll

func (w WalLogReader) ListCommittedAll() (map[uint64]bool, error)

func (WalLogReader) Read

func (w WalLogReader) Read() (e command.Command, err error)

func (WalLogReader) ReadAll

func (w WalLogReader) ReadAll(result *WalEntryMap) error

func (WalLogReader) SeekToStart

func (w WalLogReader) SeekToStart() error

type WalPersister

type WalPersister struct {
	Disk         *disk.Disk
	FileResolver *WalFileResolver
	Counter      *WalCounter
	// contains filtered or unexported fields
}

func (*WalPersister) Close

func (w *WalPersister) Close()

func (*WalPersister) RotateFile

func (w *WalPersister) RotateFile() error

func (*WalPersister) Setup

func (w *WalPersister) Setup() error

func (*WalPersister) StartBuilder

func (w *WalPersister) StartBuilder() (PersistRunner, error)

type WalReadResult

type WalReadResult struct {
	Entries   []command.Command
	Committed bool
}

func (*WalReadResult) AddEntry

func (w *WalReadResult) AddEntry(e command.Command)

func (*WalReadResult) SetAsCommitted

func (w *WalReadResult) SetAsCommitted()

type WalWriteFile

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

func NewWalWriteFile

func NewWalWriteFile(fd *os.File, filename string) WalWriteFile

func (*WalWriteFile) Close

func (w *WalWriteFile) Close() error

func (*WalWriteFile) Open

func (w *WalWriteFile) Open(file string) error

func (*WalWriteFile) Write

func (w *WalWriteFile) Write(e command.Command) error

type WriteAheadLog

type WriteAheadLog struct {
	FlushDoneChan chan bool
	// contains filtered or unexported fields
}

func NewWriteAheadLog

func NewWriteAheadLog(config *util.Config, disk *disk.Disk) (*WriteAheadLog, error)

func (*WriteAheadLog) Begin

func (w *WriteAheadLog) Begin() (uint64, PersistRunner, error)

func (*WriteAheadLog) Close

func (w *WriteAheadLog) Close()

func (*WriteAheadLog) Flush

func (w *WriteAheadLog) Flush()

Jump to

Keyboard shortcuts

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