src/devices/wifi/mac-parameters.cc
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 08 Oct 2007 15:58:07 +0200
changeset 1913 4e4ea4809c3d
parent 1904 c0cfe985f973
child 1919 46ed9ed9dac0
permissions -rw-r--r--
implement broadcast/multicast MacStation
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"
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
namespace ns3 {
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
MacParameters::MacParameters ()
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
  m_rtsCtsThreshold = 1000;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
  m_fragmentationThreshold = 2000;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
  m_maxSsrc = 7;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
  m_maxSlrc = 7;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
MacParameters::Initialize80211a (WifiPhy const*phy)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
  m_sifs = MicroSeconds (16);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
  m_slot = MicroSeconds (9);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
  /* see section 9.2.10 ieee 802.11-1999 */
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
  m_pifs = m_sifs + m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
  // 1000m 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
  m_maxPropagationDelay = Seconds (1000.0 / 300000000.0);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    46
  /* Cts_Timeout and Ack_Timeout are specified in the Annex C 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    47
     (Formal description of MAC operation, see details on the 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
     Trsp timer setting at page 346)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
  */
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    50
  WifiMacHeader hdr;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
  hdr.SetType (WIFI_MAC_CTL_CTS);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
  m_ctsTimeout = m_sifs;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
  m_ctsTimeout += phy->CalculateTxDuration (hdr.GetSize (), phy->GetMode (0));
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    54
  m_ctsTimeout += m_maxPropagationDelay * Scalar (2);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
  m_ctsTimeout += m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
  hdr.SetType (WIFI_MAC_CTL_ACK);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    58
  m_ackTimeout = m_sifs;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
  m_ackTimeout += phy->CalculateTxDuration (hdr.GetSize (), phy->GetMode (0));
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    60
  m_ackTimeout += m_maxPropagationDelay * Scalar (2);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    61
  m_ackTimeout += m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
}
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
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
MacParameters::SetSlotTime (Time slotTime)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    67
  m_slot = slotTime;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    68
}
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
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    71
MacParameters::SetMaxSsrc (uint32_t ssrc)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    72
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    73
  m_maxSsrc = ssrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    74
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    75
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    76
MacParameters::SetMaxSlrc (uint32_t slrc)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    77
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    78
  m_maxSlrc = slrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    79
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    80
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    81
MacParameters::SetRtsCtsThreshold (uint32_t threshold)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    82
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    83
  m_rtsCtsThreshold = threshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    84
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    85
void 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    86
MacParameters::SetFragmentationThreshold (uint32_t threshold)
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    87
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    88
  m_fragmentationThreshold = threshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    89
}
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
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    92
MacParameters::GetPifs (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    93
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    94
  return m_pifs;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    95
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    96
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    97
MacParameters::GetSifs (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
  return m_sifs;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
MacParameters::GetSlotTime (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   103
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   104
  return m_slot;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   105
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   106
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   107
MacParameters::GetCtsTimeout (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   108
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   109
  return m_ctsTimeout;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   110
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   112
MacParameters::GetAckTimeout (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   113
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   114
  return m_ackTimeout;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   115
}
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
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   118
MacParameters::GetBeaconInterval (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   119
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
  return Seconds (1);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   121
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   122
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   123
MacParameters::GetMaxSsrc (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   124
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   125
  return m_maxSsrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   126
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   127
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   128
MacParameters::GetMaxSlrc (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   129
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   130
  return m_maxSlrc;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   131
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   132
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   133
MacParameters::GetRtsCtsThreshold (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   134
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   135
  return m_rtsCtsThreshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   136
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   137
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   138
MacParameters::GetFragmentationThreshold (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   139
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   140
  assert (GetMaxMsduSize () / 16 < m_fragmentationThreshold);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   141
  return m_fragmentationThreshold;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   142
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   143
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   144
MacParameters::GetMsduLifetime (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   145
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   146
  return Seconds (10);
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   147
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   148
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   149
MacParameters::GetMaxQueueSize (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   150
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   151
  return 400;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   152
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   153
Time
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   154
MacParameters::GetMaxPropagationDelay (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   155
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   156
  return m_maxPropagationDelay;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   157
}
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
uint32_t 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   160
MacParameters::GetMaxMsduSize (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   161
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   162
  return 2304;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   163
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   164
double 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   165
MacParameters::GetCapLimit (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   166
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   167
  return 0.4;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   168
}
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   169
double 
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   170
MacParameters::GetMinEdcaTrafficProportion (void) const
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   171
{
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   172
  return 0.4;
c0cfe985f973 build MacParameters
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   173
}
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
}; // namespace ns3