segmented_cache_helpers (segmented_cache v0.5.1)
View SourceSummary
Types
-type config() :: #segmented_cache{scope :: segmented_cache:scope(), name :: segmented_cache:name(), strategy :: segmented_cache:strategy(), entries_limit :: segmented_cache:entries_limit(), index :: atomics:atomics_ref(), segments :: tuple(), merger_fun :: merger_fun(term())}.
-type iterative_fun(Key, Value) :: fun((ets:tid(), Key) -> {continue | stop, Value}).
-type merger_fun(Value) :: fun((Value, Value) -> Value).
-type span() :: fun(() -> {term(), span_metadata()}).
-type span_metadata() :: #{hit := boolean()}.
Functions
-spec delete_entry(segmented_cache:name(), segmented_cache:key()) -> true.
-spec delete_pattern(segmented_cache:name(), ets:match_pattern()) -> true.
-spec erase_cache_config(segmented_cache:name()) -> boolean().
-spec get_cache_scope(segmented_cache:name()) -> segmented_cache:scope().
-spec get_entry_span(segmented_cache:name(), segmented_cache:key()) -> span().
-spec init_cache_config(segmented_cache:name(), segmented_cache:opts()) -> #{scope := segmented_cache:scope(), ttl := timeout()}.
-spec is_member_span(segmented_cache:name(), segmented_cache:key()) -> span().
-spec merge_entry(segmented_cache:name(), segmented_cache:key(), segmented_cache:value()) -> boolean().
-spec purge_last_segment_and_rotate(segmented_cache:name()) -> non_neg_integer().
-spec put_entry_front(segmented_cache:name(), segmented_cache:key(), segmented_cache:value()) -> boolean().