23 #ifndef RADIO_BEARER_STATS_CONNECTOR_H 
   24 #define RADIO_BEARER_STATS_CONNECTOR_H 
   27 #include <ns3/traced-callback.h> 
   28 #include <ns3/config.h> 
   29 #include <ns3/simple-ref-count.h> 
   37 class RadioBearerStatsCalculator;
 
  193   void ConnectSrb0Traces (std::string ueRrcPath, uint64_t imsi, uint16_t cellId, uint16_t rnti);
 
  202   void ConnectSrb1TracesUe (std::string ueRrcPath, uint64_t imsi, uint16_t cellId, uint16_t rnti);
 
  231   void ConnectTracesUe (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti);
 
  241   void DisconnectTracesUe (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti);
 
  250   void ConnectTracesEnb (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti);
 
  260   void DisconnectTracesEnb (std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti);
 
  296 #endif // RADIO_BEARER_STATS_CONNECTOR_H 
static void NotifyRandomAccessSuccessfulUe(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Function hooked to RandomAccessSuccessful trace source at UE RRC, which is fired upon successful comp...
 
void ConnectTracesEnbIfFirstTime(std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Connects all trace sources at eNB to RLC and PDCP calculators. 
 
RadioBearerStatsConnector()
Constructor. 
 
Smart pointer class similar to boost::intrusive_ptr. 
 
std::set< uint64_t > m_imsiSeenUe
stores all UEs for which RLC and PDCP traces were connected 
 
Struct used as key in m_ueManagerPathByCellIdRnti map. 
 
bool m_connected
true if traces are connected to sinks, initially set to false 
 
static void NotifyHandoverEndOkUe(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Function hooked to HandoverStart trace source at UE RRC, which is fired upon successful termination o...
 
void EnablePdcpStats(Ptr< RadioBearerStatsCalculator > pdcpStats)
Enables trace sinks for PDCP layer. 
 
Ptr< RadioBearerStatsCalculator > m_pdcpStats
Calculator for PDCP Statistics. 
 
void EnsureConnected()
Connects trace sinks to appropriate trace sources. 
 
void DisconnectTracesEnb(std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Disconnects all trace sources at eNB to RLC and PDCP calculators. 
 
void ConnectTracesEnb(std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Connects all trace sources at eNB to RLC and PDCP calculators. 
 
void EnableRlcStats(Ptr< RadioBearerStatsCalculator > rlcStats)
Enables trace sinks for RLC layer. 
 
std::set< uint64_t > m_imsiSeenEnb
stores all eNBs for which RLC and PDCP traces were connected 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
friend bool operator<(const CellIdRnti &a, const CellIdRnti &b)
Less than operator for CellIdRnti, because it is used as key in map. 
 
static void NotifyHandoverStartEnb(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)
Function hooked to HandoverStart trace source at eNB RRC, which is fired upon start of a handover pro...
 
static void NotifyNewUeContextEnb(RadioBearerStatsConnector *c, std::string context, uint16_t cellid, uint16_t rnti)
Function hooked to NewUeContext trace source at eNB RRC, which is fired upon creation of a new UE con...
 
void ConnectTracesUe(std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Connects all trace sources at UE to RLC and PDCP calculators. 
 
std::map< CellIdRnti, std::string > m_ueManagerPathByCellIdRnti
List UE Manager Paths by CellIdRnti. 
 
static void NotifyConnectionSetupUe(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Sink connected source of UE Connection Setup trace. 
 
static void NotifyConnectionReconfigurationEnb(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Function hooked to ConnectionReconfiguration trace source at eNB RRC, which is fired upon RRC connect...
 
static void NotifyConnectionReconfigurationUe(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Function hooked to ConnectionReconfiguration trace source at UE RRC, which is fired upon RRC connecti...
 
void ConnectSrb1TracesUe(std::string ueRrcPath, uint64_t imsi, uint16_t cellId, uint16_t rnti)
Connects Srb1 trace sources at UE to RLC and PDCP calculators. 
 
static void NotifyHandoverEndOkEnb(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Function hooked to HandoverEndOk trace source at eNB RRC, which is fired upon successful termination ...
 
static void NotifyHandoverStartUe(RadioBearerStatsConnector *c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)
Function hooked to HandoverStart trace source at UE RRC, which is fired upon start of a handover proc...
 
void DisconnectTracesUe(std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Disconnects all trace sources at UE to RLC and PDCP calculators. 
 
Ptr< RadioBearerStatsCalculator > m_rlcStats
Calculator for RLC Statistics. 
 
This class is very useful when user needs to collect statistics from PDCD and RLC. 
 
void ConnectTracesUeIfFirstTime(std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
Connects all trace sources at UE to RLC and PDCP calculators. 
 
void StoreUeManagerPath(std::string ueManagerPath, uint16_t cellId, uint16_t rnti)
Creates UE Manager path and stores it in m_ueManagerPathByCellIdRnti. 
 
void ConnectSrb0Traces(std::string ueRrcPath, uint64_t imsi, uint16_t cellId, uint16_t rnti)
Connects Srb0 trace sources at UE and eNB to RLC and PDCP calculators, and Srb1 trace sources at eNB ...