src/lte/model/lte-enb-net-device.h
author Nicola Baldo <nbaldo@cttc.es>
Mon, 10 Oct 2011 18:05:18 +0200
changeset 8253 6faee3d1d1d0
parent 7385 src/lte/model/enb-net-device.h@10beb0e53130
parent 8148 src/lte/model/enb-net-device.h@09e2d03022a2
child 8255 bd60df311c7b
permissions -rw-r--r--
merge ns-3-dev
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7385
10beb0e53130 standardize emacs c++ mode comments
Vedran Mileti? <rivanvx@gmail.com>
parents: 7238
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     2
/*
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     3
 * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     4
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     8
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    12
 * GNU General Public License for more details.
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    13
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    17
 *
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    18
 * Author: Giuseppe Piro  <g.piro@poliba.it>
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    19
 * Author: Marco Miozzo <marco.miozzo@cttc.es> : Update to FF API Architecture
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    20
 */
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    21
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
    22
#ifndef LTE_ENB_NET_DEVICE_H
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
    23
#define LTE_ENB_NET_DEVICE_H
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    24
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    25
#include "lte-net-device.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    26
#include "ns3/event-id.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    27
#include "ns3/mac48-address.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    28
#include "ns3/traced-callback.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    29
#include "ns3/nstime.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    30
#include "ns3/log.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    31
#include "lte-phy.h"
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    32
#include <vector>
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    33
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    34
namespace ns3 {
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    35
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    36
class Packet;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    37
class PacketBurst;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    38
class Node;
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    39
class LtePhy;
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
    40
class LteEnbPhy;
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    41
class LteEnbMac;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    42
class LteEnbRrc;
7897
313a02778014 DL PF Scheduler
Marco Miozzo <marco.miozzo@cttc.es>
parents: 7887
diff changeset
    43
class FfMacScheduler;
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    44
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    45
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    46
/**
7238
85a7e87bb4cc Make some more modules show up on doxygen modules page
Mitch Watrous <watrous@u.washington.edu>
parents: 6852
diff changeset
    47
 * \ingroup lte
85a7e87bb4cc Make some more modules show up on doxygen modules page
Mitch Watrous <watrous@u.washington.edu>
parents: 6852
diff changeset
    48
 *
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    49
 * The eNodeB device implementation
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    50
 */
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
    51
class LteEnbNetDevice : public LteNetDevice
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    52
{
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    53
public:
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    54
  static TypeId GetTypeId (void);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    55
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
    56
  LteEnbNetDevice (void);
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    57
  /**
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    58
   * \brief Create eNB net device
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    59
   * \param node the network node
7906
d58de34e41d3 MAC, RRC and Scheduler created by LenaHelper
Marco Miozzo <marco.miozzo@cttc.es>
parents: 7897
diff changeset
    60
   * \param phy the physical object attached to it
d58de34e41d3 MAC, RRC and Scheduler created by LenaHelper
Marco Miozzo <marco.miozzo@cttc.es>
parents: 7897
diff changeset
    61
   * \param mac the mac layer object attached to it
d58de34e41d3 MAC, RRC and Scheduler created by LenaHelper
Marco Miozzo <marco.miozzo@cttc.es>
parents: 7897
diff changeset
    62
   * \param sched the scheduler object attached to it
d58de34e41d3 MAC, RRC and Scheduler created by LenaHelper
Marco Miozzo <marco.miozzo@cttc.es>
parents: 7897
diff changeset
    63
   * \param rrc the rrc entity object attached to it
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    64
   */
7906
d58de34e41d3 MAC, RRC and Scheduler created by LenaHelper
Marco Miozzo <marco.miozzo@cttc.es>
parents: 7897
diff changeset
    65
  LteEnbNetDevice (Ptr<Node> node, Ptr<LteEnbPhy> phy, Ptr<LteEnbMac> mac, Ptr<FfMacScheduler> sched, Ptr<LteEnbRrc> rrc);
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    66
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
    67
  virtual ~LteEnbNetDevice (void);
6710
3cd651349cb6 lte examples now passing valgrind tests
Nicola Baldo <nbaldo@cttc.es>
parents: 6705
diff changeset
    68
  virtual void DoDispose (void);
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    69
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    70
  /**
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    71
   * \return a pointer to the MAC 
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    72
   */
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    73
  Ptr<LteEnbMac> GetMac (void) const;
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    74
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    75
  /**
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    76
   * \return a pointer to the physical layer.
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    77
   */
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
    78
  Ptr<LteEnbPhy> GetPhy (void) const;
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
    79
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    80
  /** 
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    81
   * \return a pointer to the Radio Resource Control instance of the eNB
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    82
   */
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    83
  Ptr<LteEnbRrc> GetRrc () const;
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    84
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    85
  /** 
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    86
   * \return the Cell Identifier of this eNB
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    87
   */
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    88
  uint16_t GetCellId () const;
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
    89
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    90
  /** 
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    91
   * \return the uplink bandwidth in RBs
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    92
   */
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    93
  uint8_t GetUlBandwidth () const;
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    94
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    95
  /** 
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    96
   * \param bw the uplink bandwidth in RBs
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
    97
   */
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    98
  void SetUlBandwidth (uint8_t bw);
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
    99
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   100
  /** 
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   101
   * \return the downlink bandwidth in RBs
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   102
   */
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   103
  uint8_t GetDlBandwidth () const;
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   104
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   105
  /** 
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   106
   * \param bw the downlink bandwidth in RBs
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   107
   */
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   108
  void SetDlBandwidth (uint8_t bw);
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   109
8015
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   110
  /** 
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   111
   * \return the downlink carrier frequency (EARFCN)
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   112
   */
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   113
  uint16_t GetDlEarfcn () const;
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   114
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   115
  /** 
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   116
   * \param bw the downlink carrier frequency (EARFCN)
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   117
   */
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   118
  void SetDlEarfcn (uint16_t earfcn);
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   119
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   120
  /** 
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   121
   * \return the uplink carrier frequency (EARFCN)
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   122
   */
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   123
  uint16_t GetUlEarfcn () const;
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   124
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   125
  /** 
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   126
   * \param bw the uplink carrier frequency (EARFCN)
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   127
   */
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   128
  void SetUlEarfcn (uint16_t earfcn);
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   129
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   130
7976
541eee38ac12 fixed LENA-78 m_dlBandwidth not initialized
Nicola Baldo <nbaldo@cttc.es>
parents: 7952
diff changeset
   131
protected:
541eee38ac12 fixed LENA-78 m_dlBandwidth not initialized
Nicola Baldo <nbaldo@cttc.es>
parents: 7952
diff changeset
   132
  // inherited from Object
541eee38ac12 fixed LENA-78 m_dlBandwidth not initialized
Nicola Baldo <nbaldo@cttc.es>
parents: 7952
diff changeset
   133
  virtual void DoStart (void);
541eee38ac12 fixed LENA-78 m_dlBandwidth not initialized
Nicola Baldo <nbaldo@cttc.es>
parents: 7952
diff changeset
   134
541eee38ac12 fixed LENA-78 m_dlBandwidth not initialized
Nicola Baldo <nbaldo@cttc.es>
parents: 7952
diff changeset
   135
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   136
private:
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   137
  bool DoSend (Ptr<Packet> packet,
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   138
               const Mac48Address& source,
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   139
               const Mac48Address& dest,
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   140
               uint16_t protocolNumber);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   141
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   142
  void DoReceive (Ptr<Packet> p);
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   143
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
   144
  /**
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   145
   * Several attributes (e.g., the bandwidth) are exported as
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   146
   * attributes of the LteEnbNetDevice from a user perspective,  but
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   147
   * are actually used also in other modules as well (the RRC, the
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   148
   * PHY, the scheduler...). This methods takes care of updating the
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   149
   * configuration of all modules so that their copy of the attribute
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   150
   * values is in sync with the one in the LteEnbNetDevice.
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   151
   */
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
   152
  void UpdateConfig (void);
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   153
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   154
  Ptr<LteEnbMac> m_mac;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   155
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
   156
  Ptr<LteEnbPhy> m_phy;
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   157
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   158
  Ptr<LteEnbRrc> m_rrc;
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   159
7897
313a02778014 DL PF Scheduler
Marco Miozzo <marco.miozzo@cttc.es>
parents: 7887
diff changeset
   160
  Ptr<FfMacScheduler> m_scheduler;
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   161
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
   162
  uint16_t m_cellId; /**< Cell Identifer. Part of the CGI, see TS 29.274, section 8.21.1  */
7886
b65c16d4da83 LENA project first public release
CTTC
parents: 6852
diff changeset
   163
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
   164
  static uint16_t m_cellIdCounter;
7952
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   165
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   166
  uint8_t m_dlBandwidth; /**< downlink bandwidth in RBs */
a15a8def979c attributes for ul & dl bandwidth at the eNB
Nicola Baldo <nbaldo@cttc.es>
parents: 7944
diff changeset
   167
  uint8_t m_ulBandwidth; /**< uplink bandwidth in RBs */
8015
e8fd3bf1692f flexible spectrum model
Nicola Baldo <nbaldo@cttc.es>
parents: 7976
diff changeset
   168
8148
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
   169
  uint16_t m_dlEarfcn;  /**< downlink carrier frequency */
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
   170
  uint16_t m_ulEarfcn;  /**< uplink carrier frequency */
09e2d03022a2 run check-style on src/lte/model
Nicola Baldo <nbaldo@cttc.es>
parents: 8098
diff changeset
   171
6705
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   172
};
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   173
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   174
} // namespace ns3
422c67049471 LTE module form GSoC project
Giuseppe Piro <g.piro@poliba.it>
parents:
diff changeset
   175
7887
78911c978517 renamed several LTE files and classes
CTTC
parents: 7886
diff changeset
   176
#endif /* LTE_ENB_NET_DEVICE_H */