LCOV - code coverage report
Current view: top level - transport/src - AbstractTransportLayer.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 31 32 96.9 %
Date: 2025-04-15 08:32:23 Functions: 7 8 87.5 %

          Line data    Source code
       1             : // Copyright 2024 Accenture.
       2             : 
       3             : #include "transport/AbstractTransportLayer.h"
       4             : 
       5             : #include "common/busid/BusId.h"
       6             : #include "transport/TransportLogger.h"
       7             : 
       8             : namespace transport
       9             : {
      10             : using ::util::logger::Logger;
      11             : using ::util::logger::TRANSPORT;
      12             : 
      13             : // explicit
      14         164 : AbstractTransportLayer::AbstractTransportLayer(uint8_t const busId)
      15         164 : : fBusId(busId), fProvidingListenerHelper(busId)
      16         164 : {}
      17             : 
      18             : // virtual
      19           1 : AbstractTransportLayer::ErrorCode AbstractTransportLayer::init() { return ErrorCode::TP_OK; }
      20             : 
      21             : // virtual
      22           1 : bool AbstractTransportLayer::shutdown(ShutdownDelegate) { return SYNC_SHUTDOWN_COMPLETE; }
      23             : 
      24             : /*
      25             :  *
      26             :  * TransportMessageProvidingListenerHelper
      27             :  *
      28             :  */
      29             : 
      30         164 : AbstractTransportLayer::TransportMessageProvidingListenerHelper::
      31         164 :     TransportMessageProvidingListenerHelper(uint8_t const busId)
      32         164 : : fBusId(busId), fpMessageProvider(nullptr), fpMessageListener(nullptr)
      33           0 : {}
      34             : 
      35             : // virtual
      36             : ITransportMessageProvidingListener::ErrorCode
      37          19 : AbstractTransportLayer::TransportMessageProvidingListenerHelper::getTransportMessage(
      38             :     uint8_t const srcBusId,
      39             :     uint16_t const sourceId,
      40             :     uint16_t const targetId,
      41             :     uint16_t const size,
      42             :     ::estd::slice<uint8_t const> const& peek,
      43             :     TransportMessage*& pTransportMessage)
      44             : {
      45          19 :     if (fpMessageProvider != nullptr)
      46             :     {
      47          18 :         return fpMessageProvider->getTransportMessage(
      48          18 :             srcBusId, sourceId, targetId, size, peek, pTransportMessage);
      49             :     }
      50           1 :     Logger::warn(
      51             :         TRANSPORT,
      52             :         "AbstractTransportLayer(%s)::getTransportMessage() with no registered "
      53             :         "provider!",
      54           1 :         ::common::busid::BusIdTraits::getName(fBusId));
      55           1 :     pTransportMessage = nullptr;
      56           1 :     return ITransportMessageProvidingListener::ErrorCode::TPMSG_NO_MSG_AVAILABLE;
      57             : }
      58             : 
      59             : // virtual
      60          19 : void AbstractTransportLayer::TransportMessageProvidingListenerHelper::releaseTransportMessage(
      61             :     TransportMessage& transportMessage)
      62             : {
      63          19 :     if (fpMessageProvider != nullptr)
      64             :     {
      65          18 :         fpMessageProvider->releaseTransportMessage(transportMessage);
      66             :     }
      67          19 : }
      68             : 
      69             : // virtual
      70             : ITransportMessageListener::ReceiveResult
      71          22 : AbstractTransportLayer::TransportMessageProvidingListenerHelper::messageReceived(
      72             :     uint8_t const sourceBusId,
      73             :     TransportMessage& transportMessage,
      74             :     ITransportMessageProcessedListener* const pNotificationListener)
      75             : {
      76          22 :     if (fpMessageListener != nullptr)
      77             :     {
      78          21 :         return fpMessageListener->messageReceived(
      79          21 :             sourceBusId, transportMessage, pNotificationListener);
      80             :     }
      81           2 :     Logger::warn(
      82             :         TRANSPORT,
      83             :         "AbstractTransportLayer(%s)::messageReceived() with no registered "
      84             :         "listener!",
      85           1 :         ::common::busid::BusIdTraits::getName(fBusId));
      86           1 :     return ReceiveResult::RECEIVED_ERROR;
      87             : }
      88             : 
      89             : // virtual
      90           2 : void AbstractTransportLayer::TransportMessageProvidingListenerHelper::dump()
      91             : {
      92           2 :     if (fpMessageProvider != nullptr)
      93             :     {
      94           1 :         fpMessageProvider->dump();
      95             :     }
      96           2 : }
      97             : 
      98             : } // namespace transport

Generated by: LCOV version 1.14