6#ifndef NEXUS_REQUEST_OBSERVER_H
7#define NEXUS_REQUEST_OBSERVER_H
Caller-owned admission, borrow, settlement and stable cancellation.
nx_request_state_t
Request state; only READY and SETTLED have no provider borrow.
nx_result_t nx_request_observer_bind(nx_request_observer_t *observer, const nx_request_slot_t *slot, uint64_t epoch)
Bind the exact live incarnation without storing its pointer.
nx_result_t nx_request_observer_sample(nx_request_observer_t *observer, nx_time_us_t now, nx_request_observation_t *out)
Copy state and acquire-observed final result for exact epoch.
void nx_request_observer_detach(nx_request_observer_t *observer)
Remove only this sidecar reference, leaving loans untouched.
nx_result_t
Operation result; success at submission means admission only.
Copied facts; result/count are valid only when settled is true.
Caller-owned optional sidecar, fresh zero storage before bind.
nx_request_state_t last_state
nx_time_us_t last_observed
const nx_request_slot_t * slot
Adapter-owned stable cancellation identity.
uint64_t nx_time_us_t
Microseconds in one boot/clock domain; no wall-clock semantics.