nRF Connect SDK API 3.4.99
Loading...
Searching...
No Matches

◆ dult_ownership_state_changed

void(* bt_fast_pair_fhn_info_cb::dult_ownership_state_changed) (bool state, bool owner)

Indicate a DULT ownership state change.

It is used to notify the application about DULT ownership arbitration between the locator networks registered with the DULT subsystem.

state reports the transition:

  • true when a user claimed ownership (became the associated DULT user).
  • false when ownership was released and DULT returned to the pre-association phase.

owner reports whether the FHN stack is the user this transition pertains to:

  • when state is true, true if FHN is the user that just became the associated DULT user (it won arbitration), false if another network won and FHN was evicted.
  • when state is false, true if FHN was the associated user whose association just ended, false if FHN was an uninvolved bystander that can now re-arbitrate.

This callback relates to the DULT v2 API (

CONFIG_DULT_API_VARIANT_V2 

). Its role depends on the configuration:

  • v2 with more than one DULT user (
    CONFIG_DULT_USER_MAX 
    greater than one): mandatory; it is the only way to learn about eviction and re-arbitration.
  • v2 with a single DULT user: optional; it still fires on every ownership transition (claimed on enable, released on reset).
  • v1 API (
    CONFIG_DULT_API_VARIANT_V1 
    ): unused; DULT emits no ownership transitions, so the callback is never invoked even if registered.

When state is true and owner is false, another network won the association and the callback signals the application to disable the FHN stack so that the winning network can operate exclusively. Application orchestration around the actual teardown is the application's responsibility.

This callback is delivered from the system workqueue context, so the application may drive the FHN and DULT lifecycle (for example disable the FHN stack) directly from within it.

Transitions are reported in order. Under rapid association changes some intermediate, cancelling transitions may be collapsed and not reported individually, but the end association state is always reported consistently. This follows the delivery guarantees of the underlying DULT arbitration API; see the dult_enable / dult_reset documentation for details.

Parameters
statetrue if ownership was claimed, false if released.
ownertrue if FHN is the user state refers to (see above).