src/lte/model/lte-control-messages.h
author Nicola Baldo <nbaldo@cttc.es>
Mon, 04 Feb 2013 18:47:25 +0100
changeset 9653 382d27da8905
parent 9414 7b0db3dbf19b
child 10059 a77e61f3980f
permissions -rw-r--r--
merged lena-dev with ns-3-dev
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     2
/*
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     3
 * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     4
 *
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     8
 *
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    12
 * GNU General Public License for more details.
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    13
 *
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    17
 *
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    18
 * Author: Giuseppe Piro  <g.piro@poliba.it>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    19
 * Author: Marco Miozzo <marco.miozzo@cttc.es>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    20
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    21
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    22
#ifndef LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    23
#define LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    24
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    25
#include "ns3/ptr.h"
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    26
#include "ns3/simple-ref-count.h"
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    27
#include <list>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    28
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    29
namespace ns3 {
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    30
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    31
class LteNetDevice;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    32
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    33
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    34
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    35
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    36
 *
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    37
 * The LteControlMessage provides a basic implementations for
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    38
 * control messages (such as PDCCH allocation map, CQI feedbacks)
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    39
 * that are exchanged among eNodeB and UEs.
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    40
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    41
class LteControlMessage : public SimpleRefCount<LteControlMessage>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    42
{
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    43
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    44
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    45
   * The type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    46
   */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    47
  enum MessageType
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    48
  {
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    49
    DL_DCI, UL_DCI, // Downlink/Uplink Data Control Indicator
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    50
    DL_CQI, UL_CQI, // Downlink/Uplink Channel Quality Indicator
9351
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
    51
    BSR, // Buffer Status Report
9414
7b0db3dbf19b merged lena-dev and lena-epc
Nicola Baldo <nbaldo@cttc.es>
parents: 9413 9351
diff changeset
    52
    DL_HARQ, // UL HARQ feedback
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
    53
    RACH_PREAMBLE, // Random Access Preamble
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
    54
    RAR, // Random Access Response
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
    55
    MIB, // Master Information Block
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    56
  };
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    57
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    58
  LteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    59
  virtual ~LteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    60
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    61
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    62
   * \brief Set the type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    63
   * \param type the type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    64
   */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    65
  void SetMessageType (MessageType type);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    66
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    67
   * \brief Get the type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    68
   * \return the type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    69
   */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    70
  MessageType GetMessageType (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    71
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    72
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    73
  MessageType m_type;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    74
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    75
} // namespace ns3
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    76
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    77
#endif /* LTE_CONTROL_MESSAGES_H */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    78
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    79
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    80
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    81
9351
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
    82
// -----------------------------------------------------------------------
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    83
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    84
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    85
#ifndef DL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    86
#define DL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    87
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    88
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    89
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    90
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    91
namespace ns3 {
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    92
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    93
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    94
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    95
 * The Downlink Data Control Indicator messages defines the RB allocation for the
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    96
 * users in the downlink
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    97
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    98
class DlDciLteControlMessage : public LteControlMessage
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    99
{
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   100
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   101
  DlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   102
  virtual ~DlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   103
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   104
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   105
  * \brief add a DCI into the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   106
  * \param dci the dci
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   107
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   108
  void SetDci (DlDciListElement_s dci);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   109
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   110
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   111
  * \brief Get dic informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   112
  * \return dci messages
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   113
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   114
  DlDciListElement_s GetDci (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   115
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   116
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   117
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   118
  DlDciListElement_s m_dci;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   119
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   120
} // namespace ns3
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   121
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   122
#endif /* DL_DCI_LTE_CONTROL_MESSAGES_H */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   123
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   124
9351
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   125
// ---------------------------------------------------------------------------
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   126
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   127
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   128
#ifndef UL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   129
#define UL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   130
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   131
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   132
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   133
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   134
namespace ns3 {
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   135
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   136
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   137
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   138
 * The Uplink Data Control Indicator messages defines the RB allocation for the
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   139
 * users in the uplink
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   140
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   141
class UlDciLteControlMessage : public LteControlMessage
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   142
{
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   143
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   144
  UlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   145
  virtual ~UlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   146
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   147
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   148
  * \brief add a DCI into the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   149
  * \param dci the dci
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   150
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   151
  void SetDci (UlDciListElement_s dci);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   152
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   153
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   154
  * \brief Get dic informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   155
  * \return dci messages
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   156
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   157
  UlDciListElement_s GetDci (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   158
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   159
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   160
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   161
  UlDciListElement_s m_dci;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   162
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   163
} // namespace ns3
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   164
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   165
#endif /* UL_DCI_LTE_CONTROL_MESSAGES_H */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   166
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   167
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   168
9351
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   169
// ---------------------------------------------------------------------------
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   170
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   171
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   172
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   173
#ifndef DLCQI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   174
#define DLCQI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   175
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   176
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   177
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   178
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   179
namespace ns3 {
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   180
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   181
class LteNetDevice;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   182
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   183
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   184
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   185
 * The downlink CqiLteControlMessage defines an ideal list of
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   186
 * feedback about the channel quality sent by the UE to the eNodeB.
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   187
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   188
class DlCqiLteControlMessage : public LteControlMessage
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   189
{
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   190
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   191
  DlCqiLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   192
  virtual ~DlCqiLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   193
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   194
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   195
  * \brief add a DL-CQI feedback record into the message.
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   196
  * \param dlcqi the DL cqi feedback
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   197
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   198
  void SetDlCqi (CqiListElement_s dlcqi);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   199
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   200
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   201
  * \brief Get DL cqi informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   202
  * \return dlcqi messages
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   203
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   204
  CqiListElement_s GetDlCqi (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   205
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   206
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   207
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   208
  CqiListElement_s m_dlCqi;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   209
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   210
} // namespace ns3
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   211
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   212
#endif /* DLCQI_LTE_CONTROL_MESSAGES_H */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   213
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   214
9351
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   215
// ---------------------------------------------------------------------------
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   216
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   217
#ifndef BSR_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   218
#define BSR_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   219
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   220
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   221
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   222
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   223
namespace ns3 {
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   224
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   225
class LteNetDevice;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   226
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   227
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   228
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   229
 * The uplink BsrLteControlMessage defines the specific
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   230
 * extension of the CE element for reporting the buffer status report
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   231
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   232
class BsrLteControlMessage : public LteControlMessage
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   233
{
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   234
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   235
  BsrLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   236
  virtual ~BsrLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   237
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   238
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   239
  * \brief add a BSR feedback record into the message.
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   240
  * \param bsr the BSR feedback
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   241
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   242
  void SetBsr (MacCeListElement_s ulcqi);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   243
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   244
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   245
  * \brief Get BSR informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   246
  * \return BSR message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   247
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   248
  MacCeListElement_s GetBsr (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   249
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   250
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   251
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   252
  MacCeListElement_s m_bsr;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   253
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   254
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   255
};
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   256
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   257
} // namespace ns3
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   258
9351
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   259
#endif /* BSR_LTE_CONTROL_MESSAGES_H */
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   260
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   261
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   262
// ---------------------------------------------------------------------------
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   263
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   264
#ifndef DL_HARQ_LTE_CONTROL_MESSAGES_H
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   265
#define DL_HARQ_LTE_CONTROL_MESSAGES_H
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   266
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   267
#include <ns3/object.h>
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   268
#include <ns3/ff-mac-common.h>
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   269
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   270
namespace ns3 {
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   271
9351
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   272
/**
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   273
 * \ingroup lte
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   274
 * The downlink DlHarqFeedbackLteControlMessage defines the specific
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   275
 * messages for transmitting the DL HARQ feedback through PUCCH
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   276
 */
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   277
class DlHarqFeedbackLteControlMessage : public LteControlMessage
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   278
{
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   279
public:
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   280
  DlHarqFeedbackLteControlMessage (void);
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   281
  virtual ~DlHarqFeedbackLteControlMessage (void);
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   282
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   283
  /**
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   284
  * \brief add a DL HARQ feedback record into the message.
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   285
  * \param DlInfoListElement_s the dl HARQ feedback
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   286
  */
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   287
  void SetDlHarqFeedback (DlInfoListElement_s m);
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   288
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   289
  /**
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   290
  * \brief Get DL HARQ informations
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   291
  * \return DL HARQ message
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   292
  */
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   293
  DlInfoListElement_s GetDlHarqFeedback (void);
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   294
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   295
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   296
private:
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   297
  DlInfoListElement_s m_dlInfoListElement;
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   298
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   299
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   300
};
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   301
} // namespace ns3
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   302
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   303
#endif /* DL_HARQ_LTE_CONTROL_MESSAGES_H */
6e074e67a1ad HARQ first draft version: RR works, PF todo, LteMiErrorModel on-going
mmiozzo
parents: 9037
diff changeset
   304
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   305
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   306
#ifndef RACH_PREAMBLE_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   307
#define RACH_PREAMBLE_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   308
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   309
#include <ns3/object.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   310
#include <ns3/ff-mac-common.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   311
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   312
namespace ns3 {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   313
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   314
class LteNetDevice;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   315
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   316
/**
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   317
 * \ingroup lte
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   318
 *
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   319
 * abstract model for the Random Access Preamble
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   320
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   321
class RachPreambleLteControlMessage : public LteControlMessage
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   322
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   323
public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   324
  RachPreambleLteControlMessage (void);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   325
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   326
  
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   327
  /** 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   328
   * Set the Random Access Preamble Identifier (RAPID), see 3GPP TS 36.321 6.2.2
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   329
   *
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   330
   * \param rapid
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   331
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   332
  void SetRapId (uint32_t rapid);
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   333
  
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   334
  /** 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   335
   * 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   336
   * \return the RAPID
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   337
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   338
  uint32_t GetRapId () const;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   339
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   340
private:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   341
  
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   342
  uint32_t m_rapId;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   343
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   344
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   345
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   346
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   347
} // namespace ns3
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   348
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   349
#endif  // RACH_PREAMBLE_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   350
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   351
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   352
#ifndef RAR_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   353
#define RAR_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   354
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   355
#include <ns3/object.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   356
#include <ns3/ff-mac-common.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   357
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   358
namespace ns3 {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   359
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   360
class LteNetDevice;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   361
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   362
/**
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   363
 * \ingroup lte
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   364
 *
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   365
 * abstract model for the MAC Random Access Response message
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   366
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   367
class RarLteControlMessage : public LteControlMessage
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   368
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   369
public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   370
  RarLteControlMessage (void);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   371
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   372
  /** 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   373
   * 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   374
   * \param raRnti the RA-RNTI, see 3GPP TS 36.321 5.1.4
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   375
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   376
  void SetRaRnti (uint16_t raRnti);
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   377
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   378
  /** 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   379
   * 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   380
   * \return  the RA-RNTI, see 3GPP TS 36.321 5.1.4
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   381
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   382
  uint16_t GetRaRnti () const;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   383
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   384
  /**
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   385
   * a MAC RAR and the corresponding RAPID subheader 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   386
   * 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   387
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   388
  struct Rar
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   389
  {
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   390
    uint8_t rapId;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   391
    BuildRarListElement_s rarPayload;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   392
  };
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   393
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   394
  /** 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   395
   * add a RAR to the MAC PDU, see 3GPP TS 36.321 6.2.3
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   396
   * 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   397
   * \param rar the rar
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   398
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   399
  void AddRar (Rar rar);
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   400
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   401
  /** 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   402
   * 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   403
   * \return a const iterator to the beginning of the RAR list
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   404
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   405
  std::list<Rar>::const_iterator RarListBegin () const;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   406
  
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   407
  /** 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   408
   * 
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   409
   * \return a const iterator to the end of the RAR list
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   410
   */
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   411
  std::list<Rar>::const_iterator RarListEnd () const;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   412
  
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   413
  
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   414
private:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   415
  
9413
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   416
  std::list<Rar> m_rarList;
20f1c6678ee2 improved LTE Random Access model
Nicola Baldo <nbaldo@cttc.es>
parents: 9406
diff changeset
   417
  uint16_t m_raRnti;
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   418
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   419
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   420
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   421
} // namespace ns3
9037
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   422
9406
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   423
#endif  // RAR_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   424
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   425
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   426
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   427
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   428
#ifndef MIB_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   429
#define MIB_LTE_CONTROL_MESSAGES_H
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   430
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   431
#include <ns3/object.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   432
#include <ns3/ff-mac-common.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   433
#include <ns3/lte-rrc-sap.h>
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   434
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   435
namespace ns3 {
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   436
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   437
class LteNetDevice;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   438
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   439
/**
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   440
 * \ingroup lte
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   441
 *
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   442
 * abstract model for broadcasting the Master Information Block
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   443
 */
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   444
class MibLteControlMessage : public LteControlMessage
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   445
{
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   446
public:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   447
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   448
  MibLteControlMessage (void);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   449
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   450
  void SetMib (LteRrcSap::MasterInformationBlock mib);
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   451
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   452
  LteRrcSap::MasterInformationBlock GetMib () const;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   453
  
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   454
private:
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   455
  
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   456
  LteRrcSap::MasterInformationBlock m_mib;
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   457
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   458
};
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   459
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   460
} // namespace ns3
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   461
7f0f9d8f8e20 new LTE RRC model
Nicola Baldo <nbaldo@cttc.es>
parents: 9037
diff changeset
   462
#endif  // MIB_LTE_CONTROL_MESSAGES_H