Crosswake.Bridge.Denial (crosswake v0.2.3)

View Source

Internal wire-decode envelope for bounded bridge deny replies (demoted, Phase 154, D-28).

This struct exists only to model the doubly-nested shape shipped natives already put on the wire (reply["denial"]["denial"]["reason"]) — every shell binary already in the field emits it, and the wire is frozen until a Crosswake.Bridge.Contract.@version major, so this module is NOT "cleaned up" here. Adopters should never match on this struct directly: Crosswake.Bridge.push/3 flattens it into a plain Crosswake.Shell.Denial before delivering {:crosswake_bridge, ref, %Crosswake.Bridge.Reply{}} to handle_info/2 — match on Crosswake.Shell.Denial instead.

Summary

Types

t()

@type t() :: %Crosswake.Bridge.Denial{
  command: String.t(),
  correlation_id: String.t(),
  denial: Crosswake.Shell.Denial.t(),
  route_id: String.t(),
  thread_id: String.t() | nil
}

Functions

from_request(request, denial)

@spec from_request(Crosswake.Bridge.Contract.Request.t(), Crosswake.Shell.Denial.t()) ::
  t()

new(attrs)

@spec new(keyword()) :: t()

to_map(denial)

@spec to_map(t()) :: map()