View Source Kinda.Wrapper.CallbackBridge (kinda v0.11.0)
Metadata for wrapper entries that require a callback-bridge layer.
Pending and runtime-backed entries share this contract, so callback-backed declarations stay in the same resolved declaration surface as ordinary generated NIFs while retaining their ownership and scheduler requirements.
Summary
Functions
Marks a callback declaration as resolved by Kinda's dispatcher runtime.
Types
@type destructor() ::
:reply_token_resource | :consumer_callback | :native_owner | :unspecified
@type facet() ::
:beam_callback
| :lifetime_contract
| :scheduler_contract
| :rich_input_decoder
@type function_name() :: atom()
@type lifetime() :: :invocation | :registration | :native_owner | :unspecified
@type owner() :: :beam_process | :native_owner | :unspecified
@type reason() :: :callback_bridge_required | nil
@type runtime() :: :pending | :dispatcher
@type scheduler() :: :normal | :dirty_cpu | :dirty_io | :foreign_thread | :unspecified
@type t() :: %Kinda.Wrapper.CallbackBridge{ destructor: destructor(), facets: [facet()], function: function_name(), lifetime: lifetime(), owner: owner(), reason: reason(), runtime: runtime(), runtime_backed: boolean(), scheduler: scheduler(), timeout_ms: non_neg_integer() | nil, unblock_path: unblock_path() }
@type unblock_path() :: :callback_bridge_runtime | nil
Functions
@spec required( function_name(), keyword() ) :: t()
@spec runtime_backed( function_name(), keyword() ) :: t()
Marks a callback declaration as resolved by Kinda's dispatcher runtime.
Runtime-backed entries are not generation blockers. Consumers still own the ABI trampoline and type projection named by their declaration variant.