1 //******************************************************************
3 // Copyright 2015 Samsung Electronics All Rights Reserved.
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://www.apache.org/licenses/LICENSE-2.0
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
22 @page ca_functional CA Functional design/implementation
25 - @ref caf_ovr_communication
26 - @ref caf_ovr_comm_netinterface
27 - @ref caf_ovr_comm_netinterface_msg
28 - @ref caf_ovr_comm_netinterface_control
29 - @ref caf_ovr_comm_netinterface_eth
30 - @ref caf_ovr_comm_netinterface_wifi
31 - @ref caf_ovr_comm_netinterface_edr
32 - @ref caf_ovr_comm_netinterface_le
33 - @ref caf_ovr_comm_netinterface_detail
37 @section caf_overview Overview
39 The following are assorted implementation notes/references in regards to
42 @subsection caf_ovr_communication Communication Adapters
44 @subsubsection caf_ovr_comm_netinterface Network Interface Creation
46 Interface connections are created at program startup. A Message Handler is
47 started by invoking the CAInitialize() command. This in turn establishes
48 the needed data structures and callbacks.
50 @dotfile ca_arch_sketch.gv
52 @paragraph caf_ovr_comm_netinterface_msg Message Handler
54 The message handler owns athread pool and send and reive queue.
56 @paragraph caf_ovr_comm_netinterface_control Interface controller
58 This directly controls the individual adapters. Calling CAInitializeAdapters(ca_thread_pool_t handle)
59 will invoke whatever config had been established by compile-time flags.
61 @paragraph caf_ovr_comm_netinterface_eth Ethernet Adapter
63 An interface adapter implemented to support Ethernet connections. It is
64 created by calling CAInitializeEthernet()
66 @paragraph caf_ovr_comm_netinterface_wifi WiFi Adapter
68 An interface adapter implemented to support WiFi connections. It is created
69 by calling CAInitializeWifi()
71 @paragraph caf_ovr_comm_netinterface_edr EDR Adapter
73 An interface adapter implemented to support EDR connections. It is created
74 by calling CAInitializeEDR()
76 @paragraph caf_ovr_comm_netinterface_le LE Adapter
78 An interface adapter implemented to support LE connections. It is created
79 by calling CAInitializeLE()
81 @paragraph caf_ovr_comm_netinterface_detail Detailed Structure
83 The following is a more detailed breakdown on the main types involved.
84 Several structs and function details are present. However the diagram
85 is more of a sketch and is not 100% complete.