adk_artifact_fs (erlang_adk v0.7.0)

View Source

Durable filesystem artifact service with atomic publication.

Logical scope and artifact names are never used as path components. A durable reservation allocates each version. Data and metadata are written and synced under private staging names; an atomic metadata rename is the publication point, so readers never observe partially written metadata.

Summary

Functions

capabilities(Handle)

-spec capabilities(pid()) -> {ok, map()} | {error, term()}.

code_change(OldVersion, State, Extra)

delete(Handle, Scope, Name, Selector)

-spec delete(pid(), adk_artifact_service:scope(), binary(), adk_artifact_service:delete_selector()) ->
                ok | {error, term()}.

delete(Handle, Scope, Name, Selector, CallOptions)

get(Handle, Scope, Name, Selector)

get(Handle, Scope, Name, Selector, CallOptions)

handle_call(Request, From, State)

handle_cast(Message, State)

handle_info(Message, State)

init(Prepared)

list(Handle, Scope)

-spec list(pid(), adk_artifact_service:scope()) ->
              {ok, [adk_artifact_service:artifact_meta()]} | {error, term()}.

list_names(Handle, Scope, Options)

-spec list_names(pid(), adk_artifact_service:scope(), map()) ->
                    {ok, adk_artifact_service:name_page()} | {error, term()}.

list_versions(Handle, Scope, Name, Options)

-spec list_versions(pid(), adk_artifact_service:scope(), binary(), map()) ->
                       {ok, adk_artifact_service:version_page()} | {error, term()}.

put(Handle, Scope, Name, Data, Options)

-spec put(pid(), adk_artifact_service:scope(), binary(), binary(), map()) ->
             {ok, adk_artifact_service:artifact_meta()} | {error, term()}.

put(Handle, Scope, Name, Data, Options, CallOptions)

repair(Handle)

-spec repair(pid()) -> {ok, map()} | {error, term()}.

repair(Handle, Options)

-spec repair(pid(), map()) -> {ok, map()} | {error, term()}.

start_link(Config)

-spec start_link(map()) -> {ok, pid()} | {error, term()}.

stop(Handle)

-spec stop(pid()) -> ok | {error, term()}.

terminate(Reason, State)