Backplane.AgentRuntime.Dependency (backplane_agent_runtime v1.6.0)

Copy Markdown

Peer run dependency waits and cycle/held-context rejection.

A waiter holds no execution slot. Held-context dependencies are rejected when no safe release is defined, and cycles cannot create deadlocks.

Summary

Types

t()

@type t() :: map()

Functions

new(max_waits)

@spec new(non_neg_integer()) ::
  {:ok, t()} | {:error, Backplane.AgentRuntime.Error.t()}

resolve(deps, target, result)

@spec resolve(t(), String.t(), map()) ::
  {:ok, t(), map()} | {:error, Backplane.AgentRuntime.Error.t()}

wait(deps, waiter, target, held_contexts \\ %{})

@spec wait(t(), String.t(), String.t(), map()) ::
  {:ok, t(), %{status: :waiting}} | {:error, Backplane.AgentRuntime.Error.t()}