Left: | ||
Right: |
OLD | NEW |
---|---|
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) | 3 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC) |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 12 matching lines...) Expand all Loading... | |
23 #define LTE_UE_RRC_H | 23 #define LTE_UE_RRC_H |
24 | 24 |
25 #include <ns3/object.h> | 25 #include <ns3/object.h> |
26 #include <ns3/packet.h> | 26 #include <ns3/packet.h> |
27 #include <ns3/lte-ue-cmac-sap.h> | 27 #include <ns3/lte-ue-cmac-sap.h> |
28 #include <ns3/lte-pdcp-sap.h> | 28 #include <ns3/lte-pdcp-sap.h> |
29 #include <ns3/lte-as-sap.h> | 29 #include <ns3/lte-as-sap.h> |
30 #include <ns3/lte-ue-cphy-sap.h> | 30 #include <ns3/lte-ue-cphy-sap.h> |
31 #include <ns3/lte-rrc-sap.h> | 31 #include <ns3/lte-rrc-sap.h> |
32 #include <ns3/traced-callback.h> | 32 #include <ns3/traced-callback.h> |
33 #include "ns3/component-carrier-ue.h" | |
34 #include <vector> | |
33 | 35 |
34 #include <map> | 36 #include <map> |
35 #include <set> | 37 #include <set> |
36 | 38 |
37 namespace ns3 { | 39 namespace ns3 { |
38 | 40 |
39 | 41 |
40 /** | 42 /** |
41 * \brief Artificial delay of UE measurements procedure. | 43 * \brief Artificial delay of UE measurements procedure. |
42 * | 44 * |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
239 */ | 241 */ |
240 State GetState () const; | 242 State GetState () const; |
241 | 243 |
242 /**· | 244 /**· |
243 *· | 245 *· |
244 *· | 246 *· |
245 * \param val true if RLC SM is to be used, false if RLC UM/AM are to be used | 247 * \param val true if RLC SM is to be used, false if RLC UM/AM are to be used |
246 */ | 248 */ |
247 void SetUseRlcSm (bool val); | 249 void SetUseRlcSm (bool val); |
248 | 250 |
251 /**· | |
252 *· | |
253 * \param support CA | |
254 */ | |
255 void SetCaSupport (bool supportCa); | |
256 | |
257 /** | |
258 * | |
259 * \return support CA | |
260 */ | |
261 uint64_t GetCaSupport (void) const; | |
buherman
2015/07/01 13:53:35
This method should return bool.
dabrignani
2015/07/02 14:12:30
Done.
| |
262 | |
249 | 263 |
250 /** | 264 /** |
251 * TracedCallback signature for imsi, cellId and rnti events. | 265 * TracedCallback signature for imsi, cellId and rnti events. |
252 * | 266 * |
253 * \param [in] imsi | 267 * \param [in] imsi |
254 * \param [in] cellId | 268 * \param [in] cellId |
255 */ | 269 */ |
256 typedef void (* CellSelectionTracedCallback) | 270 typedef void (* CellSelectionTracedCallback) |
257 (const uint64_t imsi, const uint16_t cellId); | 271 (const uint64_t imsi, const uint16_t cellId); |
258 | 272 |
(...skipping 26 matching lines...) Expand all Loading... | |
285 * \param [in] imsi | 299 * \param [in] imsi |
286 * \param [in] cellId | 300 * \param [in] cellId |
287 * \param [in] rnti | 301 * \param [in] rnti |
288 * \param [in] oldState | 302 * \param [in] oldState |
289 * \param [in] newState | 303 * \param [in] newState |
290 */ | 304 */ |
291 typedef void (* StateTracedCallback) | 305 typedef void (* StateTracedCallback) |
292 (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, | 306 (const uint64_t imsi, const uint16_t cellId, const uint16_t rnti, |
293 const State oldState, const State newState); | 307 const State oldState, const State newState); |
294 | 308 |
295 | |
296 private: | 309 private: |
297 | 310 |
298 | 311 |
299 // PDCP SAP methods | 312 // PDCP SAP methods |
300 void DoReceivePdcpSdu (LtePdcpSapUser::ReceivePdcpSduParameters params); | 313 void DoReceivePdcpSdu (LtePdcpSapUser::ReceivePdcpSduParameters params); |
301 | 314 |
302 // CMAC SAP methods | 315 // CMAC SAP methods |
303 void DoSetTemporaryCellRnti (uint16_t rnti); | 316 void DoSetTemporaryCellRnti (uint16_t rnti); |
304 void DoNotifyRandomAccessSuccessful (); | 317 void DoNotifyRandomAccessSuccessful (); |
305 void DoNotifyRandomAccessFailed (); | 318 void DoNotifyRandomAccessFailed (); |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
514 void DisposeOldSrb1 (); | 527 void DisposeOldSrb1 (); |
515 uint8_t Bid2Drbid (uint8_t bid); | 528 uint8_t Bid2Drbid (uint8_t bid); |
516 /** | 529 /** |
517 * Switch the UE RRC to the given state. | 530 * Switch the UE RRC to the given state. |
518 * \param s the destination state | 531 * \param s the destination state |
519 */ | 532 */ |
520 void SwitchToState (State s); | 533 void SwitchToState (State s); |
521 | 534 |
522 std::map<uint8_t, uint8_t> m_bid2DrbidMap; | 535 std::map<uint8_t, uint8_t> m_bid2DrbidMap; |
523 | 536 |
524 LteUeCphySapUser* m_cphySapUser; | 537 std::vector<LteUeCphySapUser*> m_cphySapUser; |
525 LteUeCphySapProvider* m_cphySapProvider; | 538 std::vector<LteUeCphySapProvider*> m_cphySapProvider; |
539 | |
526 | 540 |
527 LteUeCmacSapUser* m_cmacSapUser; | 541 LteUeCmacSapUser* m_cmacSapUser; |
528 LteUeCmacSapProvider* m_cmacSapProvider; | 542 LteUeCmacSapProvider* m_cmacSapProvider; |
529 | 543 |
530 LteUeRrcSapUser* m_rrcSapUser; | 544 LteUeRrcSapUser* m_rrcSapUser; |
531 LteUeRrcSapProvider* m_rrcSapProvider; | 545 LteUeRrcSapProvider* m_rrcSapProvider; |
532 | 546 |
533 LteMacSapProvider* m_macSapProvider; | 547 LteMacSapProvider* m_macSapProvider; |
534 LtePdcpSapUser* m_drbPdcpSapUser; | 548 LtePdcpSapUser* m_drbPdcpSapUser; |
535 | 549 |
536 LteAsSapProvider* m_asSapProvider; | 550 LteAsSapProvider* m_asSapProvider; |
537 LteAsSapUser* m_asSapUser; | 551 LteAsSapUser* m_asSapUser; |
538 | 552 |
539 /// The current UE RRC state. | 553 /// The current UE RRC state. |
540 State m_state; | 554 State m_state; |
541 | 555 |
542 /// The unique UE identifier. | 556 /// The unique UE identifier. |
543 uint64_t m_imsi; | 557 uint64_t m_imsi; |
544 /** | 558 /** |
545 * The `C-RNTI` attribute. Cell Radio Network Temporary Identifier. | 559 * The `C-RNTI` attribute. Cell Radio Network Temporary Identifier. |
546 */ | 560 */ |
547 uint16_t m_rnti; | 561 uint16_t m_rnti; |
548 /** | 562 /** |
549 * The `CellId` attribute. Serving cell identifier. | 563 * The `CellId` attribute. Serving cell identifier. |
550 */ | 564 */ |
551 uint16_t m_cellId; | 565 uint16_t m_cellId; |
552 | 566 |
553 /** | 567 /** |
568 * This parameter is set if the UE support Carrier Aggregation | |
569 */ | |
570 bool m_supportCa; | |
571 | |
572 /** | |
554 * The `Srb0` attribute. SignalingRadioBearerInfo for SRB0. | 573 * The `Srb0` attribute. SignalingRadioBearerInfo for SRB0. |
555 */ | 574 */ |
556 Ptr<LteSignalingRadioBearerInfo> m_srb0; | 575 Ptr<LteSignalingRadioBearerInfo> m_srb0; |
557 /** | 576 /** |
558 * The `Srb1` attribute. SignalingRadioBearerInfo for SRB1. | 577 * The `Srb1` attribute. SignalingRadioBearerInfo for SRB1. |
559 */ | 578 */ |
560 Ptr<LteSignalingRadioBearerInfo> m_srb1; | 579 Ptr<LteSignalingRadioBearerInfo> m_srb1; |
561 /** | 580 /** |
562 * SRB1 configuration before RRC connection reconfiguration. To be deleted | 581 * SRB1 configuration before RRC connection reconfiguration. To be deleted |
563 * soon by DisposeOldSrb1(). | 582 * soon by DisposeOldSrb1(). |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
943 * connection establishment procedure has failed. | 962 * connection establishment procedure has failed. |
944 */ | 963 */ |
945 void ConnectionTimeout (); | 964 void ConnectionTimeout (); |
946 | 965 |
947 }; // end of class LteUeRrc | 966 }; // end of class LteUeRrc |
948 | 967 |
949 | 968 |
950 } // namespace ns3 | 969 } // namespace ns3 |
951 | 970 |
952 #endif // LTE_UE_RRC_H | 971 #endif // LTE_UE_RRC_H |
OLD | NEW |