gleamunison/storage

Types

Trusted key/value primitives, including mutable branch pointers. Untrusted immutable content must use insert_content, not insert directly.

pub type StorageAdapter {
  StorageAdapter(
    insert: fn(identity.DefinitionRef, BitArray) -> Result(
      Nil,
      StorageError,
    ),
    lookup: fn(identity.DefinitionRef) -> Result(
      option.Option(BitArray),
      StorageError,
    ),
    delete: fn(identity.DefinitionRef) -> Result(
      Nil,
      StorageError,
    ),
    list_refs: fn() -> Result(
      List(identity.DefinitionRef),
      StorageError,
    ),
    close: fn() -> Result(Nil, StorageError),
  )
}

Constructors

pub type StorageError {
  StorageError(message: String)
  NotFound
  IoError(reason: String)
}

Constructors

  • StorageError(message: String)
  • NotFound
  • IoError(reason: String)

Values

pub fn describe_error(error: StorageError) -> String
pub fn dets(path: String) -> Result(StorageAdapter, StorageError)
pub fn ffi_dets_delete(
  tab: BitArray,
  ref: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_dets_insert(
  tab: BitArray,
  ref: BitArray,
  bytes: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_dets_list_refs(
  tab: BitArray,
) -> Result(List(BitArray), StorageError)
pub fn ffi_dets_lookup(
  tab: BitArray,
  ref: BitArray,
) -> Result(option.Option(BitArray), StorageError)
pub fn ffi_ets_delete(
  tab: BitArray,
  ref: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_ets_insert(
  tab: BitArray,
  ref: BitArray,
  bytes: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_ets_list_refs(
  tab: BitArray,
) -> Result(List(BitArray), StorageError)
pub fn ffi_ets_lookup(
  tab: BitArray,
  ref: BitArray,
) -> Result(option.Option(BitArray), StorageError)
pub fn ffi_mnesia_delete(
  tab: BitArray,
  ref: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_mnesia_insert(
  tab: BitArray,
  ref: BitArray,
  bytes: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_mnesia_list_refs(
  tab: BitArray,
) -> Result(List(BitArray), StorageError)
pub fn ffi_mnesia_lookup(
  tab: BitArray,
  ref: BitArray,
) -> Result(option.Option(BitArray), StorageError)
pub fn ffi_partitioned_dets_delete(
  tab: BitArray,
  ref: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_partitioned_dets_insert(
  tab: BitArray,
  ref: BitArray,
  bytes: BitArray,
) -> Result(Nil, StorageError)
pub fn ffi_partitioned_dets_list_refs(
  tab: BitArray,
) -> Result(List(BitArray), StorageError)
pub fn ffi_partitioned_dets_lookup(
  tab: BitArray,
  ref: BitArray,
) -> Result(option.Option(BitArray), StorageError)
pub fn inmemory() -> StorageAdapter
pub fn insert_content(
  adapter: StorageAdapter,
  ref: identity.DefinitionRef,
  bytes: BitArray,
) -> Result(Nil, StorageError)

Validate before write; preserve the first valid binding and report I/O errors.

pub fn mnesia(
  table_name: String,
) -> Result(StorageAdapter, StorageError)
pub fn verify_content(
  ref: identity.DefinitionRef,
  bytes: BitArray,
) -> Result(Nil, StorageError)
✨ Search Document