Chimeway.TargetAdapter behaviour (chimeway v1.2.0)

Copy Markdown View Source

Replaceable provider-handoff seam over durable opaque target identity.

Summary

Types

The result of handing a durable target to a provider adapter.

Types

deliver_result()

@type deliver_result() ::
  {:ok, map()}
  | {:provider_accepted, map()}
  | {:provider_retryable, map()}
  | {:permanent, map()}
  | {:invalidated, map()}
  | {:expired, map()}
  | {:pre_handoff_retryable, map()}
  | {:possible_handoff, map()}
  | {:error, :pre_handoff, term()}
  | {:error, :possible_handoff, term()}
  | {:error, term()}

The result of handing a durable target to a provider adapter.

The tagged variants form the durable target lifecycle vocabulary. Only :pre_handoff_retryable proves the adapter did not cross the provider-request boundary. Adapter reasons are intentionally not persisted.

Callbacks

deliver(t, keyword)

@callback deliver(TargetEnvelope.t(), keyword()) :: deliver_result()