A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
dcf.cc
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2005 INRIA
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19
*/
20
21
#include "
dcf.h
"
22
#include "ns3/uinteger.h"
23
#include "ns3/log.h"
24
25
namespace
ns3
{
26
27
NS_LOG_COMPONENT_DEFINE
(
"Dcf"
);
28
29
NS_OBJECT_ENSURE_REGISTERED
(Dcf);
30
31
TypeId
32
Dcf::GetTypeId
(
void
)
33
{
34
static
TypeId
tid =
TypeId
(
"ns3::Dcf"
)
35
.
SetParent
<
Object
> ()
36
.AddAttribute (
"MinCw"
,
"The minimum value of the contention window."
,
37
UintegerValue
(15),
38
MakeUintegerAccessor
(&
Dcf::SetMinCw
,
39
&
Dcf::GetMinCw
),
40
MakeUintegerChecker<uint32_t> ())
41
.AddAttribute (
"MaxCw"
,
"The maximum value of the contention window."
,
42
UintegerValue
(1023),
43
MakeUintegerAccessor
(&
Dcf::SetMaxCw
,
44
&
Dcf::GetMaxCw
),
45
MakeUintegerChecker<uint32_t> ())
46
.AddAttribute (
"Aifsn"
,
"The AIFSN: the default value conforms to simple DCA."
,
47
UintegerValue
(2),
48
MakeUintegerAccessor
(&
Dcf::SetAifsn
,
49
&
Dcf::GetAifsn
),
50
MakeUintegerChecker<uint32_t> ())
51
;
52
return
tid;
53
}
54
55
}
//namespace ns3
ns3::Dcf::SetMaxCw
virtual void SetMaxCw(uint32_t maxCw)=0
Set the maximum congestion window size.
ns3::Dcf::GetMinCw
virtual uint32_t GetMinCw(void) const =0
Return the minimum congestion window size.
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition:
object-base.h:44
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition:
log.h:201
ns3::UintegerValue
Hold an unsigned integer type.
Definition:
uinteger.h:44
ns3::Dcf::SetAifsn
virtual void SetAifsn(uint32_t aifsn)=0
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::Dcf::SetMinCw
virtual void SetMinCw(uint32_t minCw)=0
Set the minimum congestion window size.
ns3::Dcf::GetTypeId
static TypeId GetTypeId(void)
Definition:
dcf.cc:32
ns3::Dcf::GetAifsn
virtual uint32_t GetAifsn(void) const =0
Return the number of slots that make up an AIFS.
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:87
ns3::MakeUintegerAccessor
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
Definition:
uinteger.h:45
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:58
ns3::TypeId::SetParent
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition:
type-id.cc:826
dcf.h
ns3::Dcf::GetMaxCw
virtual uint32_t GetMaxCw(void) const =0
Return the maximum congestion window size.
src
wifi
model
dcf.cc
Generated on Wed Sep 30 2015 15:55:52 for ns-3 by
1.8.9.1