src/devices/wifi/mac-parameters.cc
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 09 Oct 2007 11:07:05 +0200
changeset 1920 1d4864775cf8
parent 1919 46ed9ed9dac0
child 1964 041240a915f8
permissions -rw-r--r--
replace header mode with preamble mode
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1904
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
/*
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
 * Copyright (c) 2005 INRIA
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
 * All rights reserved.
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
 *
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
 * This program is free software; you can redistribute it and/or modify
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
 * it under the terms of the GNU General Public License version 2 as 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
 * published by the Free Software Foundation;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
 *
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
 * This program is distributed in the hope that it will be useful,
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
 * GNU General Public License for more details.
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
 *
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
 * along with this program; if not, write to the Free Software
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
 *
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
 */
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
#include <cassert>
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
#include "mac-parameters.h"
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
#include "wifi-phy.h"
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
#include "wifi-mac-header.h"
1920
1d4864775cf8 replace header mode with preamble mode
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1919
diff changeset
    27
#include "wifi-preamble.h"
1904
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
namespace ns3 {
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
MacParameters::MacParameters ()
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
  m_rtsCtsThreshold = 1000;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
  m_fragmentationThreshold = 2000;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
  m_maxSsrc = 7;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
  m_maxSlrc = 7;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
MacParameters::Initialize80211a (WifiPhy const*phy)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
  m_sifs = MicroSeconds (16);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
  m_slot = MicroSeconds (9);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
  /* see section 9.2.10 ieee 802.11-1999 */
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
  m_pifs = m_sifs + m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
  // 1000m 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    46
  m_maxPropagationDelay = Seconds (1000.0 / 300000000.0);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    47
  /* Cts_Timeout and Ack_Timeout are specified in the Annex C 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
     (Formal description of MAC operation, see details on the 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
     Trsp timer setting at page 346)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    50
  */
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
  WifiMacHeader hdr;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
  hdr.SetType (WIFI_MAC_CTL_CTS);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
  m_ctsTimeout = m_sifs;
1920
1d4864775cf8 replace header mode with preamble mode
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1919
diff changeset
    54
  m_ctsTimeout += phy->CalculateTxDuration (hdr.GetSize (), phy->GetMode (0), WIFI_PREAMBLE_LONG);
1904
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
  m_ctsTimeout += m_maxPropagationDelay * Scalar (2);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
  m_ctsTimeout += m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    58
  hdr.SetType (WIFI_MAC_CTL_ACK);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
  m_ackTimeout = m_sifs;
1920
1d4864775cf8 replace header mode with preamble mode
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1919
diff changeset
    60
  m_ackTimeout += phy->CalculateTxDuration (hdr.GetSize (), phy->GetMode (0), WIFI_PREAMBLE_LONG);
1904
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    61
  m_ackTimeout += m_maxPropagationDelay * Scalar (2);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
  m_ackTimeout += m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    63
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
MacParameters::SetSlotTime (Time slotTime)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    67
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    68
  m_slot = slotTime;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    69
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    70
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    71
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    72
MacParameters::SetMaxSsrc (uint32_t ssrc)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    73
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    74
  m_maxSsrc = ssrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    75
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    76
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    77
MacParameters::SetMaxSlrc (uint32_t slrc)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    78
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    79
  m_maxSlrc = slrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    80
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    81
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    82
MacParameters::SetRtsCtsThreshold (uint32_t threshold)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    83
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    84
  m_rtsCtsThreshold = threshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    85
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    86
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    87
MacParameters::SetFragmentationThreshold (uint32_t threshold)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    88
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    89
  m_fragmentationThreshold = threshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    90
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    91
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    92
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    93
MacParameters::GetPifs (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    94
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    95
  return m_pifs;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    96
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    97
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
MacParameters::GetSifs (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
  return m_sifs;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   103
MacParameters::GetSlotTime (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   104
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   105
  return m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   106
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   107
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   108
MacParameters::GetCtsTimeout (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   109
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   110
  return m_ctsTimeout;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   112
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   113
MacParameters::GetAckTimeout (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   114
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   115
  return m_ackTimeout;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   116
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   117
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   118
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   119
MacParameters::GetBeaconInterval (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   121
  return Seconds (1);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   122
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   123
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   124
MacParameters::GetMaxSsrc (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   125
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   126
  return m_maxSsrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   127
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   128
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   129
MacParameters::GetMaxSlrc (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   130
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   131
  return m_maxSlrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   132
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   133
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   134
MacParameters::GetRtsCtsThreshold (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   135
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   136
  return m_rtsCtsThreshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   137
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   138
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   139
MacParameters::GetFragmentationThreshold (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   140
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   141
  assert (GetMaxMsduSize () / 16 < m_fragmentationThreshold);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   142
  return m_fragmentationThreshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   143
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   144
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   145
MacParameters::GetMsduLifetime (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   146
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   147
  return Seconds (10);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   148
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   149
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   150
MacParameters::GetMaxQueueSize (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   151
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   152
  return 400;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   153
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   154
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   155
MacParameters::GetMaxPropagationDelay (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   156
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   157
  return m_maxPropagationDelay;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   158
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   159
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   160
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   161
MacParameters::GetMaxMsduSize (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   162
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   163
  return 2304;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   164
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   165
double 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   166
MacParameters::GetCapLimit (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   167
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   168
  return 0.4;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   169
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   170
double 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   171
MacParameters::GetMinEdcaTrafficProportion (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   172
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   173
  return 0.4;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   174
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   175
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   176
}; // namespace ns3