Nexus Embedded Platform 1.0.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
nx_owner_executor_port_t Struct Reference

One real execution owner, injected without OS dependency. More...

#include <bus_owner.h>

Data Fields

void * context
nx_result_t(* start )(void *, void *operation, nx_time_us_t deadline)
nx_result_t(* service )(void *, nx_result_t *result, size_t *transferred)
nx_result_t(* cancel )(void *)
bool terminal_authority

Detailed Description

One real execution owner, injected without OS dependency.

start SUCCESS borrows operation until service SUCCESS. BUSY or any start error retains zero operation references/hardware effects; an error after partial start must instead accept and report through service. service SUCCESS proves all hardware/IRQ/deferred accesses stopped, writes final result/count, and releases the operation. BUSY still borrows. Other service errors retain ownership and require continued recovery/service. cancel requests drain; it never by itself releases operation. Callbacks run only in the externally scheduled executor, outside adapter metadata guard.

Note
terminal_authority selects providers that observe deadlines and latch their first terminal hardware fact themselves. Their final result survives late cancellation/publication. Other executors use adapter deadline/cancellation results. Queued deadlines always belong to the adapter.

Definition at line 49 of file bus_owner.h.

Field Documentation

◆ cancel

nx_result_t(* nx_owner_executor_port_t::cancel) (void *)

Definition at line 53 of file bus_owner.h.

◆ context

void* nx_owner_executor_port_t::context

Definition at line 50 of file bus_owner.h.

◆ service

nx_result_t(* nx_owner_executor_port_t::service) (void *, nx_result_t *result, size_t *transferred)

Definition at line 52 of file bus_owner.h.

◆ start

nx_result_t(* nx_owner_executor_port_t::start) (void *, void *operation, nx_time_us_t deadline)

Definition at line 51 of file bus_owner.h.

◆ terminal_authority

bool nx_owner_executor_port_t::terminal_authority

Definition at line 54 of file bus_owner.h.


The documentation for this struct was generated from the following file:
  • components/bus_owner/include/nexus/components/bus_owner.h