Bloccs.Manifest.Contract (bloccs v0.2.0)

Copy Markdown View Source

The node contract: function refs, retry policy, timeout, idempotency.

Summary

Types

idempotency()

@type idempotency() :: %{key: String.t()} | nil

mfa_ref()

@type mfa_ref() :: %{module: module(), function: atom(), arity: pos_integer()}

retry()

@type retry() ::
  %{
    strategy: String.t(),
    max: non_neg_integer(),
    on: [String.t()],
    base_ms: pos_integer() | nil
  }
  | nil

t()

@type t() :: %Bloccs.Manifest.Contract{
  effect_shell: mfa_ref(),
  idempotency: idempotency(),
  pure_core: mfa_ref(),
  retry: retry(),
  timeout_ms: pos_integer() | nil
}