summaryrefslogtreecommitdiff
path: root/src/components/policy/policy_external/doc/doxygen/components/TransportManager/Internal Design/TrasportManager.txt
blob: 164fad914010ec404ce33b1df3e0c3ad213a15ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*! \page components_transportmanager_internal_design_trasport_manager Trasport Manager Implementation

Actually Transport Manager component is implemented as classical manager component. It manages connections and abstract devices and provides unified information for the clients.

Connection-related information encapsulated in structure ns_smart_device_link::ns_transport_manager::CTransportManager::SConnectionInfo. Transport Manager manages these structures to store information about every active connection.

Frame processing encapsulated in structure ns_smart_device_link::ns_transport_manager::CTransportManager::SFrameDataForConnection. Transport Manager manages these structures to store information related to data for specific connection.

Callback information between transport manager threads passed in form of special structures:
ns_smart_device_link::ns_transport_manager::CTransportManager::SDeviceListenerCallback.
ns_smart_device_link::ns_transport_manager::CTransportManager::SDataListenerCallback.

Client calls to TM guarded by separate mutex. This allows use component from different threads without any risk.

*/