Nebulex.Adapter behaviour (Nebulex v2.0.0) View Source

Specifies the minimal API required from adapters.

Link to this section Summary

Types

The metadata returned by the adapter init/1.

t()

Functions

RExecutes the function fun passing as parameters the adapter and metadata (from the init/1 callback) associated with the given cache name_or_pid.

Callbacks

The callback invoked in case the adapter needs to inject code.

Initializes the adapter supervision tree by returning the children.

Link to this section Types

Specs

adapter_meta() :: %{optional(atom()) => term()}

The metadata returned by the adapter init/1.

It must be a map and Nebulex itself will always inject two keys into the meta:

  • :cache - The cache module.
  • :pid - The PID returned by the child spec returned in init/1

Specs

t() :: module()

Link to this section Functions

Link to this function

with_meta(name_or_pid, fun)

View Source

Specs

with_meta(atom() | pid(), (module(), adapter_meta() -> term())) :: term()

RExecutes the function fun passing as parameters the adapter and metadata (from the init/1 callback) associated with the given cache name_or_pid.

It expects a name or a PID representing the cache.

Link to this section Callbacks

Specs

__before_compile__(term(), env :: Macro.Env.t()) :: Macro.t()

The callback invoked in case the adapter needs to inject code.

Specs

init(config :: Keyword.t()) :: {:ok, :supervisor.child_spec(), adapter_meta()}

Initializes the adapter supervision tree by returning the children.