|
Diag-Client-Lib
|
Class to manage all the conversation created from usr request. More...
#include <conversation_manager.h>

Classes | |
| struct | ConversationStorage |
| Store Dm conversation. More... | |
Public Member Functions | |
| ConversationManager (diag::client::config_parser::DcmClientConfig config, diag::client::uds_transport::UdsTransportProtocolManager &uds_transport_mgr) noexcept | |
| Constructs an instance of ConversationManager. More... | |
| ~ConversationManager () noexcept=default | |
| Destructs an instance of ConversationManager. More... | |
| void | Startup () noexcept |
| Function to start the ConversationManager. More... | |
| void | Shutdown () noexcept |
| Function to shutdown the ConversationManager. More... | |
| diag::client::conversation::Conversation & | GetDiagnosticClientConversation (std::string_view conversation_name) noexcept |
| Function to get DM conversation object based on conversation name. More... | |
Private Member Functions | |
| void | StoreConversationConfig (diag::client::config_parser::DcmClientConfig &config) noexcept |
| Function to store the dcm client configuration internally. More... | |
Private Attributes | |
| uds_transport::UdsTransportProtocolManager & | uds_transport_mgr_ |
| Store the reference to uds transport manager. More... | |
| std::unordered_map< std::string, ConversationStorage > | conversation_map_ |
| Map to store conversation object(dm) along with conversation name. More... | |
Class to manage all the conversation created from usr request.
Definition at line 29 of file conversation_manager.h.
|
noexcept |
Constructs an instance of ConversationManager.
| [in] | config | The configuration of dcm client |
| [in] | uds_transport_mgr | The reference to Uds transport manger |
Definition at line 31 of file conversation_manager.cpp.
|
defaultnoexcept |
Destructs an instance of ConversationManager.
|
noexcept |
Function to get DM conversation object based on conversation name.
| [in] | conversation_name | The conversation name |
Definition at line 61 of file conversation_manager.cpp.
References FILE_NAME, and diag::client::logger::DiagClientLogger::GetDiagClientLogger().

|
noexcept |
Function to shutdown the ConversationManager.
Definition at line 41 of file conversation_manager.cpp.
References conversation_map_, FILE_NAME, diag::client::logger::DiagClientLogger::GetDiagClientLogger(), and diag::client::conversation::Conversation::kInactive.
Referenced by diag::client::dcm::DCMClient::Shutdown().


|
noexcept |
Function to start the ConversationManager.
Definition at line 39 of file conversation_manager.cpp.
|
privatenoexcept |
Function to store the dcm client configuration internally.
| [in] | config | The Dcm client configuration |
Definition at line 106 of file conversation_manager.cpp.
References diag::client::conversation_manager::anonymous_namespace{conversation_manager.cpp}::kRandomPortNumber, diag::client::conversation_manager::anonymous_namespace{conversation_manager.cpp}::kVdConversationName, diag::client::conversation::DMConversationType::rx_buffer_size, and diag::client::conversation::VDConversationType::udp_address.
|
private |
Map to store conversation object(dm) along with conversation name.
Pair of Conversation name and Conversation Object
Definition at line 92 of file conversation_manager.h.
Referenced by Shutdown().
|
private |
Store the reference to uds transport manager.
Definition at line 86 of file conversation_manager.h.