A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
src
wifi
model
mac-low-transmission-parameters.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2005, 2006 INRIA
4
* Copyright (c) 2009 MIRKO BANCHI
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation;
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
*
19
* Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
20
* Mirko Banchi <mk.banchi@gmail.com>
21
*/
22
23
#ifndef MAC_LOW_TRANSMISSION_PARAMETERS_H
24
#define MAC_LOW_TRANSMISSION_PARAMETERS_H
25
26
#include "ns3/uinteger.h"
27
28
namespace
ns3
{
29
38
class
MacLowTransmissionParameters
39
{
40
public
:
41
MacLowTransmissionParameters
();
42
48
void
EnableAck
(
void
);
52
void
EnableBasicBlockAck
(
void
);
56
void
EnableCompressedBlockAck
(
void
);
60
void
EnableMultiTidBlockAck
(
void
);
67
void
EnableRts
(
void
);
77
void
EnableNextData
(uint32_t size);
82
void
DisableAck
(
void
);
86
void
DisableRts
(
void
);
90
void
DisableNextData
(
void
);
97
bool
MustWaitNormalAck
(
void
)
const
;
103
bool
MustWaitBasicBlockAck
(
void
)
const
;
109
bool
MustWaitCompressedBlockAck
(
void
)
const
;
115
bool
MustWaitMultiTidBlockAck
(
void
)
const
;
120
bool
MustSendRts
(
void
)
const
;
124
bool
HasNextPacket
(
void
)
const
;
128
uint32_t
GetNextPacketSize
(
void
)
const
;
129
130
private
:
131
friend
std::ostream &
operator <<
(std::ostream &os,
const
MacLowTransmissionParameters
¶ms);
132
uint32_t
m_nextSize
;
133
enum
135
{
136
ACK_NONE
,
137
ACK_NORMAL
,
138
BLOCK_ACK_BASIC
,
139
BLOCK_ACK_COMPRESSED
,
140
BLOCK_ACK_MULTI_TID
141
}
m_waitAck
;
142
bool
m_sendRts
;
143
};
144
152
std::ostream &
operator <<
(std::ostream &os,
const
MacLowTransmissionParameters
¶ms);
153
154
}
//namespace ns3
155
156
#endif
/* MAC_LOW_TRANSMISSION_PARAMETERS_H */
ns3::MacLowTransmissionParameters::MustWaitCompressedBlockAck
bool MustWaitCompressedBlockAck(void) const
Definition:
mac-low-transmission-parameters.cc:101
ns3::MacLowTransmissionParameters::BLOCK_ACK_BASIC
Definition:
mac-low-transmission-parameters.h:138
ns3::MacLowTransmissionParameters::EnableBasicBlockAck
void EnableBasicBlockAck(void)
Wait BASICBLOCKACKTimeout for a Basic Block Ack Response frame.
Definition:
mac-low-transmission-parameters.cc:47
ns3::MacLowTransmissionParameters::m_nextSize
uint32_t m_nextSize
the next size
Definition:
mac-low-transmission-parameters.h:132
ns3::MacLowTransmissionParameters::operator<<
friend std::ostream & operator<<(std::ostream &os, const MacLowTransmissionParameters ¶ms)
Serialize MacLowTransmissionParameters to ostream in a human-readable form.
Definition:
mac-low-transmission-parameters.cc:131
ns3::MacLowTransmissionParameters::MustSendRts
bool MustSendRts(void) const
Definition:
mac-low-transmission-parameters.cc:113
ns3::MacLowTransmissionParameters
control how a packet is transmitted.
Definition:
mac-low-transmission-parameters.h:38
ns3::MacLowTransmissionParameters::MacLowTransmissionParameters
MacLowTransmissionParameters()
Definition:
mac-low-transmission-parameters.cc:27
ns3::MacLowTransmissionParameters::GetNextPacketSize
uint32_t GetNextPacketSize(void) const
Definition:
mac-low-transmission-parameters.cc:125
ns3::MacLowTransmissionParameters::MustWaitNormalAck
bool MustWaitNormalAck(void) const
Definition:
mac-low-transmission-parameters.cc:89
ns3::MacLowTransmissionParameters::HasNextPacket
bool HasNextPacket(void) const
Definition:
mac-low-transmission-parameters.cc:119
ns3::MacLowTransmissionParameters::BLOCK_ACK_COMPRESSED
Definition:
mac-low-transmission-parameters.h:139
ns3::operator<<
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Definition:
angles.cc:42
ns3::MacLowTransmissionParameters::MustWaitMultiTidBlockAck
bool MustWaitMultiTidBlockAck(void) const
Definition:
mac-low-transmission-parameters.cc:107
ns3::MacLowTransmissionParameters::EnableCompressedBlockAck
void EnableCompressedBlockAck(void)
Wait COMPRESSEDBLOCKACKTimeout for a Compressed Block Ack Response frame.
Definition:
mac-low-transmission-parameters.cc:53
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::MacLowTransmissionParameters::EnableAck
void EnableAck(void)
Wait ACKTimeout for an ACK.
Definition:
mac-low-transmission-parameters.cc:65
ns3::MacLowTransmissionParameters::BLOCK_ACK_MULTI_TID
Definition:
mac-low-transmission-parameters.h:140
ns3::MacLowTransmissionParameters::m_sendRts
bool m_sendRts
send an RTS?
Definition:
mac-low-transmission-parameters.h:142
ns3::MacLowTransmissionParameters::DisableRts
void DisableRts(void)
Do not send rts and wait for cts before sending data.
Definition:
mac-low-transmission-parameters.cc:83
ns3::MacLowTransmissionParameters::EnableMultiTidBlockAck
void EnableMultiTidBlockAck(void)
NOT IMPLEMENTED FOR NOW.
Definition:
mac-low-transmission-parameters.cc:59
ns3::MacLowTransmissionParameters::ACK_NORMAL
Definition:
mac-low-transmission-parameters.h:137
ns3::MacLowTransmissionParameters::m_waitAck
enum ns3::MacLowTransmissionParameters::@73 m_waitAck
wait ack enumerated type
ns3::MacLowTransmissionParameters::EnableRts
void EnableRts(void)
Send a RTS, and wait CTSTimeout for a CTS.
Definition:
mac-low-transmission-parameters.cc:77
ns3::MacLowTransmissionParameters::EnableNextData
void EnableNextData(uint32_t size)
Definition:
mac-low-transmission-parameters.cc:35
ns3::MacLowTransmissionParameters::DisableNextData
void DisableNextData(void)
Do not attempt to send data burst after current transmission.
Definition:
mac-low-transmission-parameters.cc:41
ns3::MacLowTransmissionParameters::MustWaitBasicBlockAck
bool MustWaitBasicBlockAck(void) const
Definition:
mac-low-transmission-parameters.cc:95
ns3::MacLowTransmissionParameters::ACK_NONE
Definition:
mac-low-transmission-parameters.h:136
ns3::MacLowTransmissionParameters::DisableAck
void DisableAck(void)
Do not wait for Ack after data transmission.
Definition:
mac-low-transmission-parameters.cc:71
Generated on Wed Nov 7 2018 10:02:14 for ns-3 by
1.8.14