ExStorageService.Context (ex_storage_service v0.6.2)

Copy Markdown View Source

Immutable runtime context for one locally supervised storage instance.

Concord/VSR remains shared application infrastructure in Phase 3, so one BEAM may supervise only contexts that use the already configured metadata roots.

Summary

Types

t()

@type t() :: %ExStorageService.Context{
  blob_root: String.t(),
  config: ExStorageService.InstanceConfig.t(),
  data_root: String.t(),
  instance: atom() | String.t(),
  metadata_root: String.t(),
  notification_task_supervisor: atom() | tuple(),
  outbox_task_supervisor: atom() | tuple(),
  ra_root: String.t(),
  replica_task_supervisor: atom() | tuple(),
  tmp_root: String.t()
}

Functions

blob_store_options(context)

@spec blob_store_options(t()) :: keyword()

default()

@spec default() :: {:ok, t()} | {:error, String.t()}

new(config)

validate_shared_metadata_roots(context)

@spec validate_shared_metadata_roots(t()) :: :ok | {:error, String.t()}