src/lte/model/lte-control-messages.h
author Marco Miozzo <marco.miozzo@cttc.es>
Mon, 25 Jun 2012 15:23:00 +0200
changeset 9037 e3629d54e53a
child 9351 6e074e67a1ad
child 9406 7f0f9d8f8e20
permissions -rw-r--r--
Add missing files of LteControlMessage
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    51
    BSR // Buffer Status Report
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    52
  };
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    53
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    54
  LteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    55
  virtual ~LteControlMessage (void);
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
   * \brief Set the type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    59
   * \param type the type of the message
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
  void SetMessageType (MessageType type);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    62
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    63
   * \brief Get the type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    64
   * \return the type of the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    65
   */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    66
  MessageType GetMessageType (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    67
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    68
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    69
  Ptr<LteNetDevice> m_source;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    70
  Ptr<LteNetDevice> m_destination;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    71
  MessageType m_type;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    72
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    73
} // namespace ns3
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
#endif /* LTE_CONTROL_MESSAGES_H */
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
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    82
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    83
#ifndef DL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    84
#define DL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    85
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    86
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    87
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    88
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    89
namespace ns3 {
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
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    92
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    93
 * 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
    94
 * users in the downlink
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    95
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    96
class DlDciLteControlMessage : public LteControlMessage
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
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    99
  DlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   100
  virtual ~DlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   101
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   102
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   103
  * \brief add a DCI into the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   104
  * \param dci the dci
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   105
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   106
  void SetDci (DlDciListElement_s 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
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   109
  * \brief Get dic informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   110
  * \return dci messages
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   111
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   112
  DlDciListElement_s GetDci (void);
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   115
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   116
  DlDciListElement_s m_dci;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   117
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   118
} // namespace ns3
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
#endif /* DL_DCI_LTE_CONTROL_MESSAGES_H */
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
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   125
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   126
#ifndef UL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   127
#define UL_DCI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   128
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   129
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   130
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   131
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   132
namespace ns3 {
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
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   135
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   136
 * 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
   137
 * users in the uplink
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   138
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   139
class UlDciLteControlMessage : public LteControlMessage
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
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   142
  UlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   143
  virtual ~UlDciLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   144
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   145
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   146
  * \brief add a DCI into the message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   147
  * \param dci the dci
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   148
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   149
  void SetDci (UlDciListElement_s 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
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   152
  * \brief Get dic informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   153
  * \return dci messages
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   154
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   155
  UlDciListElement_s GetDci (void);
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   158
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   159
  UlDciListElement_s m_dci;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   160
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   161
} // namespace ns3
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
#endif /* UL_DCI_LTE_CONTROL_MESSAGES_H */
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
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   169
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
#ifndef DLCQI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   172
#define DLCQI_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   173
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   174
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   175
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   176
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   177
namespace ns3 {
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
class LteNetDevice;
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
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   182
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   183
 * The downlink CqiLteControlMessage defines an ideal list of
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   184
 * 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
   185
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   186
class DlCqiLteControlMessage : public LteControlMessage
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
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   189
  DlCqiLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   190
  virtual ~DlCqiLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   191
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   192
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   193
  * \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
   194
  * \param dlcqi the DL cqi feedback
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   195
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   196
  void SetDlCqi (CqiListElement_s dlcqi);
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
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   199
  * \brief Get DL cqi informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   200
  * \return dlcqi messages
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   201
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   202
  CqiListElement_s GetDlCqi (void);
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   205
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   206
  CqiListElement_s m_dlCqi;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   207
};
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   208
} // namespace ns3
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
#endif /* DLCQI_LTE_CONTROL_MESSAGES_H */
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
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   215
#ifndef BSR_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   216
#define BSR_LTE_CONTROL_MESSAGES_H
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   217
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   218
#include <ns3/object.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   219
#include <ns3/ff-mac-common.h>
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   220
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   221
namespace ns3 {
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
class LteNetDevice;
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
/**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   226
 * \ingroup lte
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   227
 * The uplink BsrLteControlMessage defines the specific
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   228
 * 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
   229
 */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   230
class BsrLteControlMessage : public LteControlMessage
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
public:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   233
  BsrLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   234
  virtual ~BsrLteControlMessage (void);
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   235
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   236
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   237
  * \brief add a BSR feedback record into the message.
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   238
  * \param bsr the BSR feedback
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   239
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   240
  void SetBsr (MacCeListElement_s ulcqi);
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
  /**
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   243
  * \brief Get BSR informations
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   244
  * \return BSR message
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   245
  */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   246
  MacCeListElement_s GetBsr (void);
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
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   249
private:
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   250
  MacCeListElement_s m_bsr;
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   251
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   252
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
} // namespace ns3
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   255
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   256
#endif /* LTE_CONTROL_MESSAGES_H */
e3629d54e53a Add missing files of LteControlMessage
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   257