summaryrefslogtreecommitdiff
path: root/SDL_Core/doc/doxygen/components/TransportManager/Internal Design/TrasportManager.txt
blob: 8c1dd43184d1bf69ad254ea7d3e358a9310b6431 (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 NsSmartDeviceLink::NsTransportManager::CTransportManager::SConnectionInfo. Transport Manager manages these structures to store information about every active connection.

Frame processing encapsulated in structure NsSmartDeviceLink::NsTransportManager::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:
NsSmartDeviceLink::NsTransportManager::CTransportManager::SDeviceListenerCallback.
NsSmartDeviceLink::NsTransportManager::CTransportManager::SDataListenerCallback.

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

*/