src/lte/model/lte-ue-rrc.h
changeset 9995 32e393c01fdb
parent 9986 d1c0357a227f
child 10063 6b30859ebd37
equal deleted inserted replaced
9994:9bc8e1488619 9995:32e393c01fdb
    29 #include <ns3/lte-ue-cphy-sap.h>
    29 #include <ns3/lte-ue-cphy-sap.h>
    30 #include <ns3/lte-rrc-sap.h>
    30 #include <ns3/lte-rrc-sap.h>
    31 #include <ns3/traced-callback.h>
    31 #include <ns3/traced-callback.h>
    32 
    32 
    33 #include <map>
    33 #include <map>
       
    34 #include <set>
    34 
    35 
    35 namespace ns3 {
    36 namespace ns3 {
    36 
    37 
    37 class LteRlc;
    38 class LteRlc;
    38 class LteMacSapProvider;
    39 class LteMacSapProvider;
   257   void DoRecvRrcConnectionReject (LteRrcSap::RrcConnectionReject msg);
   258   void DoRecvRrcConnectionReject (LteRrcSap::RrcConnectionReject msg);
   258 
   259 
   259  
   260  
   260   // internal methods
   261   // internal methods
   261   void ApplyRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated rrcd);
   262   void ApplyRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated rrcd);
       
   263   void ApplyMeasConfig (LteRrcSap::MeasConfig mc);
       
   264   void SendMeasurementReport (uint8_t measId);
   262   void StartConnection ();
   265   void StartConnection ();
   263   void LeaveConnectedMode ();
   266   void LeaveConnectedMode ();
   264   void DisposeOldSrb1 ();
   267   void DisposeOldSrb1 ();
   265   uint8_t Bid2Drbid (uint8_t bid);
   268   uint8_t Bid2Drbid (uint8_t bid);
   266   void SwitchToState (State s);
   269   void SwitchToState (State s);
   318 
   321 
   319   bool m_connectionPending; /**< true if a connection request by upper layers is pending */
   322   bool m_connectionPending; /**< true if a connection request by upper layers is pending */
   320   bool m_receivedMib; /**< true if MIB was received for the current cell  */
   323   bool m_receivedMib; /**< true if MIB was received for the current cell  */
   321   bool m_receivedSib2; /**< true if SIB2 was received for the current cell  */
   324   bool m_receivedSib2; /**< true if SIB2 was received for the current cell  */
   322 
   325 
       
   326 
       
   327   /**
       
   328    * Includes the accumulated configuration of the measurements to be
       
   329    * performed by the UE, see TS 36.331 section 7.1. Also note that some
       
   330    * optional variables in the specs are omitted.
       
   331    * 
       
   332    */
       
   333   struct VarMeasConfig
       
   334   {
       
   335     std::map<uint8_t, LteRrcSap::MeasIdToAddMod>   measIdList;
       
   336     std::map<uint8_t, LteRrcSap::MeasObjectToAddMod> measObjectList;
       
   337     std::map<uint8_t, LteRrcSap::ReportConfigToAddMod> reportConfigList;
       
   338     LteRrcSap::QuantityConfig quantityConfig; 
       
   339     double aRsrp;
       
   340     double aRsrq;
       
   341   };
       
   342   
       
   343   struct VarMeasReport
       
   344   {
       
   345     uint8_t measId;
       
   346     std::set<uint16_t> cellsTriggeredList; // note: only EUTRA is
       
   347                                             // supported
       
   348     uint32_t numberOfReportsSent;
       
   349     EventId periodicReportTimer;
       
   350   };
       
   351   
       
   352   VarMeasConfig m_varMeasConfig;
       
   353   //       measId
       
   354   std::map<uint8_t, VarMeasReport> m_varMeasReportList;
       
   355   
       
   356   struct MeasValues
       
   357   {
       
   358     double rsrp;
       
   359     double rsrq;
       
   360     Time timestamp;
       
   361   };
       
   362 
       
   363   /////////cellId
       
   364   std::map<uint16_t, MeasValues> m_storedMeasValues;
       
   365   
       
   366 
   323 };
   367 };
   324 
   368 
   325 
   369 
   326 } // namespace ns3
   370 } // namespace ns3
   327 
   371