ExStorageService.Metadata.BlobCatalog (ex_storage_service v0.6.2)

Copy Markdown View Source

Bounded, typed access to v2 blob descriptors.

Pages are a live view because the current Concord release cannot pin a scan revision. Consumers must therefore re-read and compare metadata before applying a plan derived from a page.

Summary

Types

record()

@type record() :: %{
  key: binary(),
  descriptor: ExStorageService.Metadata.Models.Blob.t(),
  mod_revision: non_neg_integer()
}

Functions

get(hash, opts \\ [])

@spec get(
  binary(),
  keyword()
) :: {:ok, record()} | {:error, :not_found | term()}

list_page(shard, cursor \\ nil, limit \\ 100, opts \\ [])

@spec list_page(binary() | nil, binary() | nil, pos_integer(), keyword()) ::
  {:ok, %{records: [record()], next_cursor: binary() | nil}} | {:error, term()}