View Source Cachex.Provision behaviour (Cachex v4.0.0)

Module controlling provisioning behaviour definitions.

This module defines the provisioning implementation for Cachex, allowing components such as hooks and warmers to tap into state changes in the cache table. By implementing handle_provision/2 these components can be provided with new versions of state as they're created.

Summary

Callbacks

Handles a provisioning call.

Returns an enumerable of provisions this implementation requires.

Callbacks

Link to this callback

handle_provision(provison, state)

View Source
@callback handle_provision(
  provison :: {type :: atom(), value :: any()},
  state :: any()
) :: {:ok, state :: any()}

Handles a provisioning call.

The provided argument will be a Tuple dictating the type of value being provisioned along with the value itself. This can be used to listen on states required for hook executions (such as cache records).

@callback provisions() :: [type :: atom()]

Returns an enumerable of provisions this implementation requires.

The current provisions available are:

  • cache - a cache instance used to make cache calls with lower overhead.

This should always return an enumerable of atoms; in the case of no required provisions an empty enumerable should be returned.