~/bend-docscommunity

src/store.bend relies on unsafe/foreign

raw source on the hub · import 0x2731c2a5d4185b57cf5353061639642e/src/store.bend as Store

1 import
import Base

Types

type Store source · line 5 · raw

Data

A Store is a scoped filesystem database. Opening it initializes or validates Stiff's private schema; no process-global service or connection is installed.

type OpenResult source · line 8 · raw

Data

type ReadResult source · line 12 · raw

Data

type WriteResult source · line 19 · raw

Data

A replay is the durable result of the same operation ID and identical input. Reusing an operation ID with different input is an idempotency conflict.

type OperationResult source · line 31 · raw

Data

Operation lookup is the reconciliation path after a caller loses a result. Retry compare_write with exactly the same input to recover the complete result.

Effects (foreign code)

effect Store.open source · line 38 · raw

@path:String -> IO(OpenResult)

foreign: src/effects/store.c

effect Store.read source · line 41 · raw

@+store:Store -> @key:String -> IO(ReadResult)

foreign: src/effects/store.c

effect Store.compare_write source · line 46 · raw

@+store:Store -> @operation_id:String -> @key:String -> @expected_version:U32 -> @value:String -> IO(WriteResult)

expected_version 0 creates an absent key. A positive version replaces only that exact version. The write and its operation receipt commit atomically.

foreign: src/effects/store.c

effect Store.operation source · line 50 · raw

@+store:Store -> @operation_id:String -> IO(OperationResult)

foreign: src/effects/store.c