8 #ifndef DIAG_CLIENT_LIB_LIB_DOIP_CLIENT_CHANNEL_TCP_CHANNEL_DOIP_TCP_CHANNEL_HANDLER_H_ 
    9 #define DIAG_CLIENT_LIB_LIB_DOIP_CLIENT_CHANNEL_TCP_CHANNEL_DOIP_TCP_CHANNEL_HANDLER_H_ 
   22 namespace tcp_channel {
 
Immutable class to store received doip message.
 
Class used as a handler to process routing activation messages.
 
Class to handle tcp received messages from lower layer.
 
auto ProcessDoIPPayloadLength(std::uint32_t payload_len, std::uint16_t payload_type) noexcept -> bool
Function to verify payload length of various payload type.
 
auto IsRoutingActivated() noexcept -> bool
Check if routing activation is active for this handler.
 
RoutingActivationHandler routing_activation_handler_
Handler to process routing activation req/ resp.
 
std::mutex channel_handler_lock
Mutex to protect critical section.
 
DiagnosticMessageHandler diagnostic_message_handler_
Handler to process diagnostic message req/ resp.
 
sockets::TcpSocketHandler::MessagePtr TcpMessagePtr
Type alias for Tcp message pointer.
 
void Start()
Function to start the handler.
 
void Reset()
Function to reset the handler.
 
DoipTcpChannelHandler(sockets::TcpSocketHandler &tcp_socket_handler, DoipTcpChannel &channel)
Constructs an instance of DoipTcpChannelHandler.
 
auto SendDiagnosticRequest(uds_transport::UdsMessageConstPtr diagnostic_request) noexcept -> uds_transport::UdsTransportProtocolMgr::TransmissionResult
Function to send diagnostic request.
 
void Stop()
Function to stop the handler.
 
void ProcessDoIPPayload(DoipMessage &doip_payload) noexcept
Function to process the doip payload.
 
auto SendRoutingActivationRequest(uds_transport::UdsMessageConstPtr routing_activation_request) noexcept -> uds_transport::UdsTransportProtocolMgr::ConnectionResult
Function to send routing activation request.
 
auto ProcessDoIPHeader(DoipMessage &doip_rx_message, std::uint8_t &nack_code) noexcept -> bool
Function to process doip header in received response.
 
void HandleMessage(TcpMessagePtr tcp_rx_message) noexcept
Function to process the received message.
 
Class to manage a tcp channel as per DoIP protocol.
 
Class used as a handler to process routing activation messages.
 
Handler class to manage different socket of various client (Udp / Tcp)
 
typename Client::MessagePtr MessagePtr
Type alias for message pointer.
 
std::unique_ptr< const UdsMessage > UdsMessageConstPtr