module Karma::Wal

Defined in:

wal.cr
wal/entry.cr
wal/lsn.cr
wal/replay.cr
wal/serializer.cr
wal/store.cr

Constant Summary

ENTRY_OFFSET_CACHE_FILES = 8
FILE_NAME = "karma.wal"
INDEX_EXTENSION = ".idx"
LSN_FILE_NAME = "karma.wal.lsn"
LSN_MUTEX = Mutex.new
SEGMENT_EXTENSION = ".segment"
SEGMENT_INDEX_HEADER = "KARMA_WAL_INDEX_V1"

Class Method Summary

Class Method Detail

def self.append(directive : Commands::Directive) : Bool #

[View source]
def self.append(directives : Array(Commands::Directive)) : Bool #

[View source]
def self.bytes(dump_dir = Karma.config.dump_dir) : Int64 #

[View source]
def self.current_lsn(dump_dir = Karma.config.dump_dir) : UInt64 #

[View source]
def self.enabled? : Bool #

[View source]
def self.entries_after(after_lsn : UInt64, limit : Int32 = 1000, dump_dir = Karma.config.dump_dir) : Array(Entry) #

[View source]
def self.entries_page_after(after_lsn : UInt64, limit : Int32 = 1000, dump_dir = Karma.config.dump_dir, max_bytes : Int32 | Nil = nil) : EntriesPage #

[View source]
def self.fsync? : Bool #

[View source]
def self.lsn_path(dump_dir = Karma.config.dump_dir) : String #

[View source]
def self.path(dump_dir = Karma.config.dump_dir) : String #

[View source]
def self.paths(dump_dir = Karma.config.dump_dir) : Array(String) #

[View source]
def self.persist?(directive : Commands::Directive) : Bool #

[View source]
def self.replay(cluster : Cluster, dump_dir = Karma.config.dump_dir) : Nil #

[View source]
def self.reset! : Nil #

[View source]
def self.segment_first_lsn(file_path : String) : UInt64 | Nil #

[View source]
def self.segment_index_path(segment_path : String) : String #

[View source]
def self.segment_path(dump_dir : String, first_lsn : UInt64) : String #

[View source]
def self.segment_paths(dump_dir = Karma.config.dump_dir) : Array(String) #

[View source]
def self.truncate : Bool #

[View source]