Synaptic.AgentDirectory.Store behaviour (synaptic v0.3.0-alpha.8)

View Source

Pluggable storage backend for services, instances, and task references.

Summary

Types

record()

@type record() :: map()

Callbacks

delete_instance(t, t)

@callback delete_instance(String.t(), String.t()) :: :ok

delete_service(t, t)

@callback delete_service(String.t(), String.t()) :: :ok

delete_task_reference(t, t)

@callback delete_task_reference(String.t(), String.t()) :: :ok

get_instance(t, t)

@callback get_instance(String.t(), String.t()) :: {:ok, record()} | :error

get_service(t, t)

@callback get_service(String.t(), String.t()) :: {:ok, record()} | :error

get_task_reference(t, t)

@callback get_task_reference(String.t(), String.t()) :: {:ok, record()} | :error

list_instances(map)

@callback list_instances(map()) :: [record()]

list_services(map)

@callback list_services(map()) :: [record()]

list_task_references(map)

@callback list_task_references(map()) :: [record()]

put_instance(record)

@callback put_instance(record()) :: {:ok, record()} | {:error, term()}

put_service(record)

@callback put_service(record()) :: {:ok, record()} | {:error, term()}

put_task_reference(record)

@callback put_task_reference(record()) :: {:ok, record()} | {:error, term()}

reset!()

@callback reset!() :: :ok

update_instance(t, t, function)

@callback update_instance(String.t(), String.t(), (record() -> record())) ::
  {:ok, record()} | :error

update_task_reference(t, t, function)

@callback update_task_reference(String.t(), String.t(), (record() -> record())) ::
  {:ok, record()} | :error

Functions

module()