~/bend-docscommunity

src/Wal.bend checks

raw source on the hub · import mylsm-lsm-store@0.4.0.0/src/Wal.bend as Wal

6 imports
import Base
import ./MemTable.bend as MemTable
import ./SstFile.bend as SstFile
import ./StorageBytes.bend as StorageBytes
import ./hub_sha/sha256.bend as SHA
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

Types

type Mut source · line 9 · raw

Data

Represent Mut data used by the write-ahead log data model.

type Batch source · line 14 · raw

Data

Represent Batch data used by the write-ahead log data model.

type Error source · line 22 · raw

Data

Represent Error data used by the packed WAL codec.

type DigestRead source · line 320 · raw

Type

Represent DigestRead data used by the packed WAL codec.

type RecordRead source · line 352 · raw

Type

Represent RecordRead data used by the packed WAL codec.

Definitions

def stage source · line 18 · raw

@+staged:List<&2, Batch> -> @+batch:Batch -> List<&2, Batch>

Handle stage in the write-ahead log data model.

def record.error source · line 28 · raw

@error:0x571fd57004366c423dfd4b51196743b5/src/SstFile.Error -> Error

def record.convert source · line 39 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, 0x571fd57004366c423dfd4b51196743b5/src/SstFile.Error, 0x571fd57004366c423dfd4b51196743b5/src/SstFile.ParsedRecord>) -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, Mut>)

def record.read source · line 50 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, Mut>)

def u32_bytes source · line 56 · raw

@value:U32 -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

Encode or decode a 32-bit word for bytes for the packed WAL codec.

def u8_bytes source · line 60 · raw

@value:U32 -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

Encode an 8-bit value for bytes for the packed WAL codec.

def header.finish source · line 63 · raw

@value:Maybe<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def log_header source · line 71 · raw

0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

Handle log header in the packed WAL codec.

def header.valid source · line 74 · raw

@comparison:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, Bool)) -> Result<&1, &1, Error, Unit>

def decode_header source · line 84 · raw

@bytes:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Result<&1, &1, Error, Unit>

Decode header for the packed WAL codec.

def record.delete.valid source · line 87 · raw

@tag:U32 -> @key:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+key_len:U32 -> @valid:Bool -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.delete source · line 100 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.put.valid source · line 109 · raw

@key:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+key_len:U32 -> @value:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+value_len:U32 -> @valid:Bool -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.put.checked source · line 124 · raw

@key:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+key_len:U32 -> @value:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+value_len:U32 -> @sum:Maybe<&2, U32> -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.put.value source · line 139 · raw

@key:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+key_len:U32 -> @value_pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.put source · line 149 · raw

@key_pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> @value_pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.encode.put source · line 158 · raw

@key_result:Result<&1, &1, Pair(U32, String), 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> @value_result:Result<&1, &1, Pair(U32, String), 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.encode.delete source · line 171 · raw

@key_result:Result<&1, &1, Pair(U32, String), 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def record.encode source · line 181 · raw

@mut:Mut -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def records.step source · line 190 · raw

@rest:List<&2, Mut> -> @current:Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> @acc:List<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes> -> Result<&1, &1, Error, List<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>>

def records source · line 206 · raw

@muts:List<&2, Mut> -> Result<&1, &1, Error, List<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>>

Handle the record s for the packed WAL codec.

def bytes.clone.pair source · line 215 · raw

@+len:U32 -> @copied:Pair(Array<U32>, Array<U32>) -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes)

def bytes.clone.split source · line 223 · raw

@bytes:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes)

def frame.digest.pair source · line 228 · raw

@+count:U32 -> @+frame_len:U32 -> @output_payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @hash_payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def frame.digest source · line 241 · raw

@+count:U32 -> @payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+frame_len:U32 -> @hash_payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def frame.payload.valid source · line 251 · raw

@+count:U32 -> @payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+frame_len:U32 -> @hash_payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @valid:Bool -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def frame.payload.fin source · line 266 · raw

@+count:U32 -> @payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @hash_payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @frame_len:Maybe<&2, U32> -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def frame.payload.output source · line 283 · raw

@count:U32 -> @hash_payload:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @measured:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, U32) -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def frame.payload.size source · line 293 · raw

@count:U32 -> @pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def frame.payload source · line 303 · raw

@+count:U32 -> @records:Result<&1, &1, Error, List<&1, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>> -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

def encode_frame source · line 314 · raw

@batch:Batch -> Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>

Encode frame for the packed WAL codec.

def digest.read.wrap source · line 323 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> DigestRead

def digest.read.go source · line 328 · raw

@remaining:Nat -> @input:DigestRead -> @digest:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @+offset:U32 -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>)

def digest.read source · line 345 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>)

def records.read.wrap source · line 356 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, Mut>) -> RecordRead

def records.read.go source · line 363 · raw

@remaining:Nat -> @input:RecordRead -> @reversed:List<&2, Mut> -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, List<&2, Mut>>)

def records.read.start source · line 379 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @+count:U32 -> Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, List<&2, Mut>>)

def frame.digest.prefix source · line 390 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes) -> 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes

def frame.verify.equal source · line 395 · raw

@records:List<&2, Mut> -> @comparison:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes, Bool)) -> Result<&1, &1, Error, Batch>

def frame.verify.end source · line 407 · raw

@at_end:Bool -> @bytes:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @claimed:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @records:List<&2, Mut> -> @+end:U32 -> Result<&1, &1, Error, Batch>

def frame.verify.finish source · line 424 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @claimed:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> @records:List<&2, Mut> -> Result<&1, &1, Error, Batch>

def frame.verify.cursor source · line 434 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, 0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes>) -> @records:List<&2, Mut> -> Result<&1, &1, Error, Batch>

def frame.records source · line 446 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Result<&1, &1, Error, List<&2, Mut>>) -> Result<&1, &1, Error, Batch>

def frame.bound.valid source · line 456 · raw

@+frame_len:U32 -> @+count:U32 -> @valid:Bool -> Bool

def frame.bound.checked source · line 467 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @+count:U32 -> @valid:Bool -> Result<&1, &1, Error, Batch>

def frame.bound.count source · line 479 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> @+frame_len:U32 -> @within:Bool -> Result<&1, &1, Error, Batch>

def frame.bound.total.valid source · line 492 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @+frame_len:U32 -> @valid:Bool -> Result<&1, &1, Error, Batch>

def frame.bound.total source · line 505 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @+frame_len:U32 -> @+end:U32 -> @checked:Maybe<&2, U32> -> Result<&1, &1, Error, Batch>

def frame.bound.end source · line 519 · raw

@cursor:0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor -> @+frame_len:U32 -> Result<&1, &1, Error, Batch>

def frame.bound.length source · line 529 · raw

@pair:Pair(0x185ae03c75e3e75be1171471f68b43cb/bytes.Cursor, Maybe<&2, U32>) -> Result<&1, &1, Error, Batch>

def decode_frame source · line 540 · raw

@bytes:0x185ae03c75e3e75be1171471f68b43cb/bytes.Bytes -> Result<&1, &1, Error, Batch>

Decode frame for the packed WAL codec.