locus_custom_fetcher behaviour (locus v2.2.2) View Source
Link to this section Summary
Link to this section Types
Specs
description() :: #{database_is_stored_remotely := boolean(), database_is_fetched_from := term()}.
Specs
event() :: event_load_attempt_started() | event_load_attempt_dismissed().
Specs
event_load_attempt_dismissed() :: {load_attempt_dismissed, source()}.
Specs
event_load_attempt_started() :: {load_attempt_started, source()}.
Specs
Specs
source() :: {local | remote, {custom, term()}}.
Specs
state() :: #state{}.
Specs
success() :: #{format := locus_loader:blob_format(), content := binary(), metadata := successful_fetch_metadata()}.
Specs
successful_fetch_metadata() :: #{fetched_from := term(), modified_on := calendar:datetime() | unknown}.
Link to this section Callbacks
Specs
conditionally_fetch(Args, {depending_on, PreviousFetchMetadata}) -> {fetched, Success} | dismissed | {error, Reason} when Args :: term(), PreviousFetchMetadata :: successful_fetch_metadata(), Success :: success(), Reason :: term().
Specs
description(Args) -> description() when Args :: term().
Specs
fetch(Args) -> {fetched, Success} | {error, Reason} when Args :: term(), Success :: success(), Reason :: term().