Add functions in SAP's to send/receive ConnRej msg.

This commit is contained in:
Lluis Parcerisa
2012-12-12 18:48:24 +01:00
parent 8109e25f97
commit fbc7386719
7 changed files with 52 additions and 0 deletions

View File

@@ -457,6 +457,14 @@ LteEnbRrcProtocolIdeal::DoSendRrcConnectionRelease (uint16_t rnti, LteRrcSap::Rr
msg);
}
void
LteEnbRrcProtocolIdeal::DoSendRrcConnectionReject (uint16_t rnti, LteRrcSap::RrcConnectionReject msg)
{
Simulator::Schedule (RRC_IDEAL_MSG_DELAY,
&LteUeRrcSapProvider::RecvRrcConnectionReject,
GetUeRrcSapProvider (rnti),
msg);
}
/*
* The purpose of LteEnbRrcProtocolIdeal is to avoid encoding

View File

@@ -125,6 +125,7 @@ private:
void DoSendRrcConnectionReestablishment (uint16_t rnti, LteRrcSap::RrcConnectionReestablishment msg);
void DoSendRrcConnectionReestablishmentReject (uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentReject msg);
void DoSendRrcConnectionRelease (uint16_t rnti, LteRrcSap::RrcConnectionRelease msg);
void DoSendRrcConnectionReject (uint16_t rnti, LteRrcSap::RrcConnectionReject msg);
Ptr<Packet> DoEncodeHandoverPreparationInformation (LteRrcSap::HandoverPreparationInfo msg);
LteRrcSap::HandoverPreparationInfo DoDecodeHandoverPreparationInformation (Ptr<Packet> p);
Ptr<Packet> DoEncodeHandoverCommand (LteRrcSap::RrcConnectionReconfiguration msg);

View File

@@ -584,6 +584,25 @@ LteEnbRrcProtocolReal::DoSendRrcConnectionSetup (uint16_t rnti, LteRrcSap::RrcCo
}
}
void
LteEnbRrcProtocolReal::DoSendRrcConnectionReject (uint16_t rnti, LteRrcSap::RrcConnectionReject msg)
{
Ptr<Packet> packet = Create<Packet> ();
RrcConnectionRejectHeader rrcConnectionRejectHeader;
rrcConnectionRejectHeader.SetMessage (msg);
packet->AddHeader (rrcConnectionRejectHeader);
LteRlcSapProvider::TransmitPdcpPduParameters transmitPdcpPduParameters;
transmitPdcpPduParameters.pdcpPdu = packet;
transmitPdcpPduParameters.rnti = rnti;
transmitPdcpPduParameters.lcid = 0;
std::map<uint16_t, LteEnbRrcSapUser::SetupUeParameters>::iterator it;
m_setupUeParametersMap[rnti].srb0SapProvider->TransmitPdcpPdu (transmitPdcpPduParameters);
}
void
LteEnbRrcProtocolReal::DoSendRrcConnectionReconfiguration (uint16_t rnti, LteRrcSap::RrcConnectionReconfiguration msg)
{

View File

@@ -136,6 +136,7 @@ private:
void DoSendRrcConnectionReestablishment (uint16_t rnti, LteRrcSap::RrcConnectionReestablishment msg);
void DoSendRrcConnectionReestablishmentReject (uint16_t rnti, LteRrcSap::RrcConnectionReestablishmentReject msg);
void DoSendRrcConnectionRelease (uint16_t rnti, LteRrcSap::RrcConnectionRelease msg);
void DoSendRrcConnectionReject (uint16_t rnti, LteRrcSap::RrcConnectionReject msg);
Ptr<Packet> DoEncodeHandoverPreparationInformation (LteRrcSap::HandoverPreparationInfo msg);
LteRrcSap::HandoverPreparationInfo DoDecodeHandoverPreparationInformation (Ptr<Packet> p);
Ptr<Packet> DoEncodeHandoverCommand (LteRrcSap::RrcConnectionReconfiguration msg);

View File

@@ -384,6 +384,7 @@ public:
virtual void RecvRrcConnectionReestablishment (RrcConnectionReestablishment msg) = 0;
virtual void RecvRrcConnectionReestablishmentReject (RrcConnectionReestablishmentReject msg) = 0;
virtual void RecvRrcConnectionRelease (RrcConnectionRelease msg) = 0;
virtual void RecvRrcConnectionReject (RrcConnectionReject msg) = 0;
};
@@ -413,6 +414,7 @@ public:
virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg) = 0;
virtual void SendRrcConnectionReestablishmentReject (uint16_t rnti, RrcConnectionReestablishmentReject msg) = 0;
virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg) = 0;
virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg) = 0;
virtual Ptr<Packet> EncodeHandoverPreparationInformation (HandoverPreparationInfo msg) = 0;
virtual HandoverPreparationInfo DecodeHandoverPreparationInformation (Ptr<Packet> p) = 0;
virtual Ptr<Packet> EncodeHandoverCommand (RrcConnectionReconfiguration msg) = 0;
@@ -563,6 +565,7 @@ public:
virtual void RecvRrcConnectionReestablishment (RrcConnectionReestablishment msg);
virtual void RecvRrcConnectionReestablishmentReject (RrcConnectionReestablishmentReject msg);
virtual void RecvRrcConnectionRelease (RrcConnectionRelease msg);
virtual void RecvRrcConnectionReject (RrcConnectionReject msg);
private:
MemberLteUeRrcSapProvider ();
@@ -643,6 +646,12 @@ MemberLteUeRrcSapProvider<C>::RecvRrcConnectionRelease (RrcConnectionRelease msg
m_owner->DoRecvRrcConnectionRelease (msg);
}
template <class C>
void
MemberLteUeRrcSapProvider<C>::RecvRrcConnectionReject (RrcConnectionReject msg)
{
m_owner->DoRecvRrcConnectionReject (msg);
}
/**
@@ -668,6 +677,7 @@ public:
virtual void SendRrcConnectionReestablishment (uint16_t rnti, RrcConnectionReestablishment msg);
virtual void SendRrcConnectionReestablishmentReject (uint16_t rnti, RrcConnectionReestablishmentReject msg);
virtual void SendRrcConnectionRelease (uint16_t rnti, RrcConnectionRelease msg);
virtual void SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg);
virtual Ptr<Packet> EncodeHandoverPreparationInformation (HandoverPreparationInfo msg);
virtual HandoverPreparationInfo DecodeHandoverPreparationInformation (Ptr<Packet> p);
virtual Ptr<Packet> EncodeHandoverCommand (RrcConnectionReconfiguration msg);
@@ -759,6 +769,13 @@ MemberLteEnbRrcSapUser<C>::SendRrcConnectionRelease (uint16_t rnti, RrcConnectio
m_owner->DoSendRrcConnectionRelease (rnti, msg);
}
template <class C>
void
MemberLteEnbRrcSapUser<C>::SendRrcConnectionReject (uint16_t rnti, RrcConnectionReject msg)
{
m_owner->DoSendRrcConnectionReject (rnti, msg);
}
template <class C>
Ptr<Packet>
MemberLteEnbRrcSapUser<C>::EncodeHandoverPreparationInformation (HandoverPreparationInfo msg)

View File

@@ -689,6 +689,11 @@ LteUeRrc::DoRecvRrcConnectionRelease (LteRrcSap::RrcConnectionRelease msg)
NS_LOG_FUNCTION (this);
}
void
LteUeRrc::DoRecvRrcConnectionReject (LteRrcSap::RrcConnectionReject msg)
{
NS_LOG_FUNCTION (this);
}

View File

@@ -247,6 +247,7 @@ private:
void DoRecvRrcConnectionReestablishment (LteRrcSap::RrcConnectionReestablishment msg);
void DoRecvRrcConnectionReestablishmentReject (LteRrcSap::RrcConnectionReestablishmentReject msg);
void DoRecvRrcConnectionRelease (LteRrcSap::RrcConnectionRelease msg);
void DoRecvRrcConnectionReject (LteRrcSap::RrcConnectionReject msg);
// internal methods