ns3::NrBearerStatsConnector class

This class is very useful when user needs to collect statistics from PDCD and RLC. It automatically connects NrBearerStatsCalculator to appropriate trace sinks. Usually user do not use this class. All he/she needs to to do is to call: LteHelper::EnablePdcpTraces() and/or LteHelper::EnableRlcTraces().

Public static functions

static void NotifyConnectionReconfigurationEnb(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
static void NotifyConnectionReconfigurationUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
static void NotifyConnectionSetupUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
static void NotifyHandoverEndOkEnb(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
static void NotifyHandoverEndOkUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)
static void NotifyHandoverStartEnb(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)
static void NotifyHandoverStartUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)
static void NotifyNewUeContextEnb(NrBearerStatsConnector* c, std::string context, uint16_t cellid, uint16_t rnti)
static void NotifyRandomAccessSuccessfulUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)

Constructors, destructors, conversion operators

NrBearerStatsConnector()
Constructor.

Public functions

void EnablePdcpStats(Ptr<NrBearerStatsBase> pdcpStats)
void EnableRlcStats(Ptr<NrBearerStatsBase> rlcStats)
void EnsureConnected()
auto GetPdcpStats() -> Ptr<NrBearerStatsBase>
auto GetRlcStats() -> Ptr<NrBearerStatsBase>

Friends

auto operator<(const CellIdRnti& a, const CellIdRnti& b) -> bool

Function documentation

static void ns3::NrBearerStatsConnector::NotifyConnectionReconfigurationEnb(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)

Parameters
c
context
imsi
cellid
rnti

Function hooked to ConnectionReconfiguration trace source at eNB RRC, which is fired upon RRC connection reconfiguration

static void ns3::NrBearerStatsConnector::NotifyConnectionReconfigurationUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)

Parameters
c
context
imsi
cellid
rnti

Function hooked to ConnectionReconfiguration trace source at UE RRC, which is fired upon RRC connection reconfiguration

static void ns3::NrBearerStatsConnector::NotifyConnectionSetupUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)

Parameters
c
context
imsi
cellid
rnti

Sink connected source of UE Connection Setup trace. Not used.

static void ns3::NrBearerStatsConnector::NotifyHandoverEndOkEnb(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)

Parameters
c
context
imsi
cellid
rnti

Function hooked to HandoverEndOk trace source at eNB RRC, which is fired upon successful termination of a handover procedure

static void ns3::NrBearerStatsConnector::NotifyHandoverEndOkUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)

Parameters
c
context
imsi
cellid
rnti

Function hooked to HandoverStart trace source at UE RRC, which is fired upon successful termination of a handover procedure

static void ns3::NrBearerStatsConnector::NotifyHandoverStartEnb(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)

Parameters
c
context
imsi
cellid
rnti
targetCellId

Function hooked to HandoverStart trace source at eNB RRC, which is fired upon start of a handover procedure

static void ns3::NrBearerStatsConnector::NotifyHandoverStartUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti, uint16_t targetCellId)

Parameters
c
context
imsi
cellid
rnti
targetCellId

Function hooked to HandoverStart trace source at UE RRC, which is fired upon start of a handover procedure

static void ns3::NrBearerStatsConnector::NotifyNewUeContextEnb(NrBearerStatsConnector* c, std::string context, uint16_t cellid, uint16_t rnti)

Parameters
c
context
cellid
rnti

Function hooked to NewUeContext trace source at eNB RRC, which is fired upon creation of a new UE context

static void ns3::NrBearerStatsConnector::NotifyRandomAccessSuccessfulUe(NrBearerStatsConnector* c, std::string context, uint64_t imsi, uint16_t cellid, uint16_t rnti)

Parameters
c
context
imsi
cellid
rnti

Function hooked to RandomAccessSuccessful trace source at UE RRC, which is fired upon successful completion of the random access procedure

void ns3::NrBearerStatsConnector::EnablePdcpStats(Ptr<NrBearerStatsBase> pdcpStats)

Parameters
pdcpStats statistics calculator for PDCP layer

Enables trace sinks for PDCP layer.

void ns3::NrBearerStatsConnector::EnableRlcStats(Ptr<NrBearerStatsBase> rlcStats)

Parameters
rlcStats statistics calculator for RLC layer

Enables trace sinks for RLC layer.

void ns3::NrBearerStatsConnector::EnsureConnected()

Connects trace sinks to appropriate trace sources

Ptr<NrBearerStatsBase> ns3::NrBearerStatsConnector::GetPdcpStats()

Returns PDCP stats

Ptr<NrBearerStatsBase> ns3::NrBearerStatsConnector::GetRlcStats()

Returns RLC stats

bool operator<(const CellIdRnti& a, const CellIdRnti& b)

Less than operator for CellIdRnti, because it is used as key in map