ASM.Session.Supervisor (ASM v0.12.1)

Copy Markdown View Source

Root dynamic supervisor for session subtrees.

Summary

Functions

Returns a specification to start this module under a supervisor.

Closes a managed session's materialization when its owning scope is cleaned up.

Revokes a managed session by opaque session id after exact lease-scope validation.

Functions

child_spec(arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

cleanup_managed_session(session_id, reason \\ :scope_closed)

@spec cleanup_managed_session(String.t(), atom()) ::
  :ok | {:error, ASM.Error.t() | :not_found}

Closes a managed session's materialization when its owning scope is cleaned up.

list_sessions()

@spec list_sessions() :: [String.t()]

revoke_managed_session(session_id, revocation)

@spec revoke_managed_session(String.t(), map() | keyword()) ::
  :ok | {:error, ASM.Error.t() | :not_found}

Revokes a managed session by opaque session id after exact lease-scope validation.

start_link(opts)

@spec start_link(keyword()) :: Supervisor.on_start()

start_session(opts)

@spec start_session(keyword()) :: DynamicSupervisor.on_start_child()

start_session(supervisor, opts)

@spec start_session(
  GenServer.server(),
  keyword()
) :: DynamicSupervisor.on_start_child()

stop_session(session_or_pid)

@spec stop_session(String.t() | pid()) :: :ok | {:error, :not_found}

stop_session(supervisor, pid)

@spec stop_session(GenServer.server(), String.t() | pid()) ::
  :ok | {:error, :not_found}