Lines Matching +full:pre +full:- +full:delay
11 Connectivity implementations are technology-specific modules that allow specific Zephyr ifaces to s…
12 …ric :ref:`connectivity control API <conn_mgr_control_api>` calls into hardware-specific operations.
35 …he connectivity implementation it is bound to, as well as a pointer to a per-iface :ref:`context p…
48 :figclass: align-center
60 …eference to that container, which implementations can then use to access per-iface state informati…
71 .. code-block:: c
105 .. code-block:: c
122 .. code-block:: c
130 .. code-block:: c
139 .. code-block:: c
153 .. code-block:: c
164 .. code-block:: c
171 /* Now bind MY_CONNECTIVITY_IMPL to that iface --
191 ----------------------------------------------
201 -------------------------------
203 Each :c:struct:`implementation API function <conn_mgr_conn_api>` you implement should behave as-des…
209 *Allow connectivity pre-configuration*
210 --------------------------------------
212 Connectivity implementations should provide means for applications to pre-configure all necessary c…
218 ----------------------------------------
220 If network association fails because the application pre-configured invalid connection parameters, …
229 ---------------------------------
235 * Set the iface to dormant, carrier-down, or both during :c:member:`binding init <conn_mgr_conn_api…
239 * Update dormancy and carrier state so that the iface is non-dormant and carrier-up whenever (and o…
240 * Set the iface either to dormant or to carrier-down as soon as interruption of service is detected.
258 ------------------------------------------------
271 *Remain non-interferent*
272 ------------------------
274 …should not prevent applications from interacting directly with associated technology-specific APIs.
284 …ntation to interpret this as an unexpected connection loss and immediately attempt to re-associate.
288 *Remain non-blocking*
289 ---------------------
291 All connectivity implementation callbacks should be non-blocking.
297 …r in mind that blocking during this callback will delay system init, so still consider offloading …
302 ----------------------------
308 …lled, calls to :c:member:`conn_mgr_conn_api.connect` must be queued in a non-blocking fashion, and…
313 ------------------------------------------------------------
327 --------------------------------------------
338 *Make implementations optional at compile-time*
339 -----------------------------------------------
348 ---------------------------------
359 ---------------------------------------------
369 A possible exception to this rule is if the resource in question is inherently thread-safe.
372 …ible to create a race condition, for instance when accessing multiple thread-safe resources simult…
374 …mply always lock the binding, whether or not the resource being accessed is inherently thread-safe.
378 *Do not disable built-in features*
379 ----------------------------------
381 Do not attempt to prevent the use of built-in features (such as :ref:`conn_mgr_control_persistence_…
389 -------------------------------------
398 Trigger :c:macro:`NET_EVENT_CONN_IF_FATAL_ERROR` when a fatal (non-recoverable) connection error oc…
408 First, see :ref:`conn_mgr_control_persistence_timeouts` for a high-level description of the expecte…
413 The following sections discuss various common edge-cases and nuances and how to handle them.
418 ------------------------------------
425 …empt times out on an iface whose underlying technology does not have a built-in timeout, the conne…
430 ---------------------------------------------------
432 …em before the user-configured timeout, or would not reconnect after connection loss, the connectiv…
441 -------------------------------------
445 …technologies may need to make multiple back-to-back association attempts in a row, usually with a …
447 …the connectivity implementation should treat this series of back-to-back association sub-attempts …
449 For instance, after a sub-attempt failure, persistence being disabled should not prevent further su…
452 At which point a series of failed sub-attempts should be considered a failure of the connection att…
454 … but the configured timeout has not yet elapsed, or there is no timeout, sub-attempts should conti…
459 ----------------------------------------