Commit 86f09350 authored by nikolajev's avatar nikolajev
Browse files

DiameterPort update

parent 6fef2e91
Loading
Loading
Loading
Loading
+21 −4
Original line number Diff line number Diff line
@@ -13,7 +13,8 @@

LowerTestAdapter::LowerTestAdapter() 
  :m_dataPort(0),
   m_adapterConfigPort(0) {
   m_adapterConfigPort(0),
   m_diameterPort(0){
  
  Logger::Instance().LogInfo("LowerTester creation");
}
@@ -29,6 +30,10 @@ void LowerTestAdapter::RegisterAdapterConfigPort(AdapterConfigPort *pPort) {
  m_adapterConfigPort = pPort;
}

void LowerTestAdapter::RegisterDiameterPort(DiameterPort *pPort) {
  m_diameterPort = pPort;
}

void LowerTestAdapter::RegisterFilter(const ComponentId *pComponent, const FilterSet & filter) {

  clog << ">>> LowerTestAdapter::RegisterFilter" << endl;
@@ -165,12 +170,24 @@ void LowerTestAdapter::ConnectToCaptureServer(boost::shared_ptr<GeneralConfigura
  InitializeCapture(configParams);
}

void LowerTestAdapter::EnqueueMessage(const ComponentId * pComp, const unsigned char * pData, int nDataLen) {
void LowerTestAdapter::EnqueueMessage(const EProtocolType dissectedDataType, const ComponentId * pComp, const unsigned char * pData, int nDataLen) {
  t3devlib::Bitstring bsCapturedBits;
  bsCapturedBits.Append(pData, nDataLen * 8);
  if(dissectedDataType == EProtocolType_Diameter)
  {
	  m_diameterPort->EnqueueMsg(m_diameterPort->GetConnectedPort(pComp), bsCapturedBits);
  }
  else if(dissectedDataType == EProtocolType_Sip)
  {
	  // Enqueue captured packet to monitor ports
	  m_dataPort->EnqueueMsg(m_dataPort->GetConnectedPort(pComp), bsCapturedBits);
  }
  else
  {
	
	
  }
}

void LowerTestAdapter::ProcessCapturedData(const unsigned char * pCapturedData, unsigned int nDataLen) {
  DispatchInfo msgInfo;
+5 −1
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#include "Helper/Exceptions.h"
#include "Ports/AdapterConfigPort.h"
#include "Ports/DataPort.h"
#include "Ports/DiameterPort.h"
#include "Messages/TrafficCaptureMessage.h"
#include "Dispatcher/Filter.h"

@@ -39,6 +40,8 @@ class LowerTestAdapter : public Singleton<LowerTestAdapter>
   */
  void RegisterAdapterConfigPort(AdapterConfigPort *pPort);

  void RegisterDiameterPort(DiameterPort *pPort);

  /** Register a filter for a component
   * @param pComponent: Pointer to a ComponentId for which the filter is defined
   * @param filter: Filter details
@@ -74,7 +77,7 @@ class LowerTestAdapter : public Singleton<LowerTestAdapter>
   * @param pData: pointer to a buffer containing captured data
   * @param nDataLen: length of captured data (in bytes)
   */
  void EnqueueMessage(const ComponentId * pComp, const unsigned char * pData, int nDataLen);
  void EnqueueMessage(const EProtocolType dissectedDataType, const ComponentId * pComp, const unsigned char * pData, int nDataLen);

 private:
  //! ! ProcessResponse
@@ -110,6 +113,7 @@ class LowerTestAdapter : public Singleton<LowerTestAdapter>
  boost::thread * m_captureThread;
  DataPort * m_dataPort; // created and deleted by t3dk
  AdapterConfigPort * m_adapterConfigPort; // created and deleted by t3dk
  DiameterPort * m_diameterPort; // created and deleted by t3dk
  ComponentFilter m_filter;
};