added LteUeRrcSapProvider::CompleteSetup ()
This commit is contained in:
@@ -141,7 +141,7 @@ UeManager::UeManager (Ptr<LteEnbRrc> rrc, uint16_t rnti, State s)
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
|
||||
m_pdcpSapUser = new LtePdcpSpecificLtePdcpSapUser<UeManager> (this);
|
||||
m_drbPdcpSapUser = new LtePdcpSpecificLtePdcpSapUser<UeManager> (this);
|
||||
|
||||
m_physicalConfigDedicated.haveAntennaInfoDedicated = true;
|
||||
m_physicalConfigDedicated.antennaInfo.transmissionMode = m_rrc->m_defaultTransmissionMode;
|
||||
@@ -185,7 +185,7 @@ UeManager::UeManager (Ptr<LteEnbRrc> rrc, uint16_t rnti, State s)
|
||||
Ptr<LtePdcp> pdcp = CreateObject<LtePdcp> ();
|
||||
pdcp->SetRnti (m_rnti);
|
||||
pdcp->SetLcId (lcid);
|
||||
pdcp->SetLtePdcpSapUser (m_pdcpSapUser);
|
||||
pdcp->SetLtePdcpSapUser (m_drbPdcpSapUser);
|
||||
pdcp->SetLteRlcSapProvider (rlc->GetLteRlcSapProvider ());
|
||||
rlc->SetLteRlcSapUser (pdcp->GetLteRlcSapUser ());
|
||||
|
||||
@@ -235,7 +235,7 @@ UeManager::~UeManager (void)
|
||||
void
|
||||
UeManager::DoDispose ()
|
||||
{
|
||||
delete m_pdcpSapUser;
|
||||
delete m_drbPdcpSapUser;
|
||||
|
||||
m_rrc->m_cmacSapProvider->RemoveUe (m_rnti);
|
||||
m_rrc->m_cphySapProvider->RemoveUe (m_rnti);
|
||||
@@ -305,7 +305,7 @@ UeManager::SetupDataRadioBearer (EpsBearer bearer, uint32_t gtpTeid, Ipv4Address
|
||||
Ptr<LtePdcp> pdcp = CreateObject<LtePdcp> ();
|
||||
pdcp->SetRnti (m_rnti);
|
||||
pdcp->SetLcId (lcid);
|
||||
pdcp->SetLtePdcpSapUser (m_pdcpSapUser);
|
||||
pdcp->SetLtePdcpSapUser (m_drbPdcpSapUser);
|
||||
pdcp->SetLteRlcSapProvider (rlc->GetLteRlcSapProvider ());
|
||||
rlc->SetLteRlcSapUser (pdcp->GetLteRlcSapUser ());
|
||||
drbInfo->m_pdcp = pdcp;
|
||||
|
||||
@@ -346,7 +346,7 @@ private:
|
||||
LteRrcSap::PhysicalConfigDedicated m_physicalConfigDedicated;
|
||||
Ptr<LteEnbRrc> m_rrc;
|
||||
State m_state;
|
||||
LtePdcpSapUser* m_pdcpSapUser;
|
||||
LtePdcpSapUser* m_drbPdcpSapUser;
|
||||
bool m_pendingRrcConnectionReconfiguration;
|
||||
TracedCallback<State, State> m_stateTransitionCallback;
|
||||
uint16_t m_sourceX2apId;
|
||||
|
||||
@@ -363,6 +363,13 @@ class LteUeRrcSapProvider : public LteRrcSap
|
||||
{
|
||||
public:
|
||||
|
||||
struct CompleteSetupParameters
|
||||
{
|
||||
LteRlcSapUser* srb0SapUser;
|
||||
LtePdcpSapUser* srb1SapUser;
|
||||
};
|
||||
|
||||
virtual void CompleteSetup (CompleteSetupParameters params) = 0;
|
||||
virtual void RecvMasterInformationBlock (MasterInformationBlock msg) = 0;
|
||||
virtual void RecvSystemInformationBlockType1 (SystemInformationBlockType1 msg) = 0;
|
||||
virtual void RecvSystemInformation (SystemInformation msg) = 0;
|
||||
@@ -541,6 +548,7 @@ public:
|
||||
MemberLteUeRrcSapProvider (C* owner);
|
||||
|
||||
// methods inherited from LteUeRrcSapProvider go here
|
||||
virtual void CompleteSetup (CompleteSetupParameters params);
|
||||
virtual void RecvMasterInformationBlock (MasterInformationBlock msg);
|
||||
virtual void RecvSystemInformationBlockType1 (SystemInformationBlockType1 msg);
|
||||
virtual void RecvSystemInformation (SystemInformation msg);
|
||||
@@ -566,6 +574,13 @@ MemberLteUeRrcSapProvider<C>::MemberLteUeRrcSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberLteUeRrcSapProvider<C>::CompleteSetup (CompleteSetupParameters params)
|
||||
{
|
||||
m_owner->DoCompleteSetup (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberLteUeRrcSapProvider<C>::RecvMasterInformationBlock (MasterInformationBlock msg)
|
||||
|
||||
@@ -135,7 +135,7 @@ LteUeRrc::LteUeRrc ()
|
||||
m_cphySapUser = new MemberLteUeCphySapUser<LteUeRrc> (this);
|
||||
m_cmacSapUser = new UeMemberLteUeCmacSapUser (this);
|
||||
m_rrcSapProvider = new MemberLteUeRrcSapProvider<LteUeRrc> (this);
|
||||
m_pdcpSapUser = new LtePdcpSpecificLtePdcpSapUser<LteUeRrc> (this);
|
||||
m_drbPdcpSapUser = new LtePdcpSpecificLtePdcpSapUser<LteUeRrc> (this);
|
||||
m_asSapProvider = new MemberLteAsSapProvider<LteUeRrc> (this);
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ LteUeRrc::DoDispose ()
|
||||
NS_LOG_FUNCTION (this);
|
||||
delete m_cphySapUser;
|
||||
delete m_cmacSapUser;
|
||||
delete m_pdcpSapUser;
|
||||
delete m_drbPdcpSapUser;
|
||||
delete m_asSapProvider;
|
||||
m_drbMap.clear ();
|
||||
}
|
||||
@@ -510,6 +510,15 @@ LteUeRrc::DoRecvMasterInformationBlock (LteRrcSap::MasterInformationBlock msg)
|
||||
|
||||
// RRC SAP methods
|
||||
|
||||
void
|
||||
LteUeRrc::DoCompleteSetup (LteUeRrcSapProvider::CompleteSetupParameters params)
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
m_srb0->m_rlc->SetLteRlcSapUser (params.srb0SapUser);
|
||||
m_srb1->m_pdcp->SetLtePdcpSapUser (params.srb1SapUser);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LteUeRrc::DoRecvSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 msg)
|
||||
{
|
||||
@@ -686,7 +695,7 @@ LteUeRrc::ApplyRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedic
|
||||
Ptr<LtePdcp> pdcp = CreateObject<LtePdcp> ();
|
||||
pdcp->SetRnti (m_rnti);
|
||||
pdcp->SetLcId (lcid);
|
||||
pdcp->SetLtePdcpSapUser (m_pdcpSapUser);
|
||||
pdcp->SetLtePdcpSapUser (m_drbPdcpSapUser);
|
||||
pdcp->SetLteRlcSapProvider (rlc->GetLteRlcSapProvider ());
|
||||
rlc->SetLteRlcSapUser (pdcp->GetLteRlcSapUser ());
|
||||
|
||||
@@ -775,7 +784,7 @@ LteUeRrc::ApplyRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedic
|
||||
Ptr<LtePdcp> pdcp = CreateObject<LtePdcp> ();
|
||||
pdcp->SetRnti (m_rnti);
|
||||
pdcp->SetLcId (dtamIt->logicalChannelIdentity);
|
||||
pdcp->SetLtePdcpSapUser (m_pdcpSapUser);
|
||||
pdcp->SetLtePdcpSapUser (m_drbPdcpSapUser);
|
||||
pdcp->SetLteRlcSapProvider (rlc->GetLteRlcSapProvider ());
|
||||
rlc->SetLteRlcSapUser (pdcp->GetLteRlcSapUser ());
|
||||
drbInfo->m_pdcp = pdcp;
|
||||
|
||||
@@ -239,6 +239,7 @@ private:
|
||||
void DoRecvMasterInformationBlock (LteRrcSap::MasterInformationBlock msg);
|
||||
|
||||
// RRC SAP methods
|
||||
void DoCompleteSetup (LteUeRrcSapProvider::CompleteSetupParameters params);
|
||||
void DoRecvSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 msg);
|
||||
void DoRecvSystemInformation (LteRrcSap::SystemInformation msg);
|
||||
void DoRecvRrcConnectionSetup (LteRrcSap::RrcConnectionSetup msg);
|
||||
@@ -267,7 +268,7 @@ private:
|
||||
LteUeRrcSapProvider* m_rrcSapProvider;
|
||||
|
||||
LteMacSapProvider* m_macSapProvider;
|
||||
LtePdcpSapUser* m_pdcpSapUser;
|
||||
LtePdcpSapUser* m_drbPdcpSapUser;
|
||||
|
||||
LteAsSapProvider* m_asSapProvider;
|
||||
LteAsSapUser* m_asSapUser;
|
||||
|
||||
Reference in New Issue
Block a user