Lines Matching full:connectivity

3 Connectivity Implementations
11 Connectivity implementations are technology-specific modules that allow specific Zephyr ifaces to s…
12 They are responsible for translating generic :ref:`connectivity control API <conn_mgr_control_api>`…
15 …delines <conn_mgr_impl_guidelines>` for details on writing conformant connectivity implementations.
22 The :ref:`implementation API <conn_mgr_impl_api>` allows connectivity implementations to be :ref:`d…
27 Make sure not to accidentally bind two connectivity implementations to a single iface.
29 Once the iface is bound, :ref:`connectivity control API <conn_mgr_control_api>` functions can be ca…
35 This binding structure will contain a reference to the bound iface, the connectivity implementation…
37 This iterable section can then be iterated over to find out what (if any) connectivity implementati…
38 This search process is used by most of the functions in the :ref:`connectivity control API <conn_mg…
41 A single connectivity implementation may be bound to multiple ifaces.
59 Since a single connectivity implementation may be shared by several Zephyr ifaces, each binding ins…
69 A connectivity implementation may be defined as follows:
103 Once defined, you can make a connectivity implementation available to other compilation units by de…
118 This is because all connectivity bindings contain a :ref:`conn_mgr_impl_ctx` of their associated co…
149 …ITY_IMPL_CTX_TYPE``, because ``MY_CONNECTIVITY_IMPL`` was used as the connectivity implementation …
151 If your connectivity implementation does not need a context pointer, simply declare the type as voi…
162 A defined connectivity implementation may be bound to an iface by calling :c:macro:`CONN_MGR_BIND_C…
178 Connectivity implementation guidelines
181 Rather than implement all features centrally, Connection Manager relies on each connectivity implem…
183 This approach allows Connection Manager to remain lean, and allows each connectivity implementation…
184 However, it relies on trust that all connectivity implementations will faithfully implement the fea…
186 To maintain consistency between all connectivity implementations, observe the following guidelines …
193 All connectivity implementations must offer complete support for :ref:`timeout and persistence <con…
203 …n_api>` you implement should behave as-described in the corresponding connectivity control API fun…
209 *Allow connectivity pre-configuration*
212 Connectivity implementations should provide means for applications to pre-configure all necessary c…
217 *Await valid connectivity configuration*
222 In other words, the connectivity implementation should not give up on the connection attempt, even …
224connectivity implementation should asynchronously wait for valid connection parameters to be confi…
231 All connectivity implementations must keep bound iface state up to date.
239 …-dormant and carrier-up whenever (and only when) association is complete and connectivity is ready.
248 …iface state updates do not necessarily need to be performed directly by connectivity implementatio…
253 …* The connectivity implementation does not need to update iface dormancy if the underlying :ref:`L…
261 As such, Zephyr iface state may change unpredictably during connectivity implementation callbacks.
274 Connectivity implementations should not prevent applications from interacting directly with associa…
276 …ation to directly use your underlying technology without breaking your connectivity implementation.
282 …While connectivity implementations must not break, it is acceptable for implementations to have po…
284 …underlying technology to disassociate, it would be acceptable for the connectivity implementation …
291 All connectivity implementation callbacks should be non-blocking.
304 Connectivity implementations must be ready to receive API calls immediately after :c:member:`conn_m…
317 Connectivity implementations should store all state information in this context pointer.
319 The only exception is connectivity implementations that are meant to be bound to only a single ifac…
341 Connectivity implementations should provide a Kconfig option to enable or disable the implementatio…
343 In other words, it should be possible to configure builds that include Connectivity Manager, as wel…
350 Do not declare a separate connectivity implementation for every iface you are going to bind to.
352 Instead, bind one global connectivity implementation to all of your ifaces, and use the context poi…
383 All connectivity implementations must fully support these features.
388 *Trigger connectivity control events*
391 Connectivity control :ref:`network management <net_mgmt_interface>` events are not triggered automa…
393 Connectivity implementations must trigger these events themselves.
410 Connectivity implementations must fully conform to that description, regardless of the behavior of …
412 Sometimes this means writing extra logic in the connectivity implementation to fake certain behavio…
420 …o reconnect or retry connection after connection loss or failure, the connectivity implementation …
424 …ter losing connection, and persistence is disabled for the iface, the connectivity implementation …
425 …ace whose underlying technology does not have a built-in timeout, the connectivity implementation …
432 …configured timeout, or would not reconnect after connection loss, the connectivity implementation …
447 In these situations, the connectivity implementation should treat this series of back-to-back assoc…
473 Only for use by connectivity implementations.