EMANE
1.2.1
unicastrtsctsposttxstate.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013-2014 - Adjacent Link LLC, Bridgewater, New Jersey
3
* Copyright (c) 2008 - DRS CenGen, LLC, Columbia, Maryland
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
*
10
* * Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
* * Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in
14
* the documentation and/or other materials provided with the
15
* distribution.
16
* * Neither the name of DRS CenGen, LLC nor the names of its
17
* contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
* POSSIBILITY OF SUCH DAMAGE.
32
*/
33
34
#ifndef EMANEMODELSIEEE802ABGUNICASTRTSCTSPOSTTXSTATE_HEADER_
35
#define EMANEMODELSIEEE802ABGUNICASTRTSCTSPOSTTXSTATE_HEADER_
36
37
38
#include "
transmissiontxstate.h
"
39
#include "
emane/utils/singleton.h
"
40
41
namespace
EMANE
42
{
43
namespace
Models
44
{
45
namespace
IEEE80211ABG
46
{
53
class
UnicastRtsCtsPostTxState
:
public
TransmissionTxState
,
54
public
Utils::Singleton
<UnicastRtsCtsPostTxState>
55
{
56
public
:
57
~UnicastRtsCtsPostTxState
();
58
59
bool
process
(
MACLayer
*,
DownstreamQueueEntry
&);
60
61
std::pair<TimePoint,bool>
getWaitTime
(
DownstreamQueueEntry
&);
62
63
const
char
*
statename
();
64
65
protected
:
66
UnicastRtsCtsPostTxState
();
67
};
68
69
using
UnicastRtsCtsPostTxStateSingleton
=
UnicastRtsCtsPostTxState
;
70
}
71
}
72
}
73
#endif //EMANEMODELSIEEE802ABGUNICASTRTSCTSPOSTTXSTATE_HEADER_
singleton.h
EMANE::Utils::Singleton
Ensure a class only has one instance, and provide a global point of access to it. ...
Definition:
singleton.h:47
EMANE::Models::IEEE80211ABG::DownstreamQueueEntry
structure defines the mac downstream packet queue entry
Definition:
downstreamqueueentry.h:52
EMANE::Models::IEEE80211ABG::UnicastRtsCtsPostTxState::statename
const char * statename()
Definition:
unicastrtsctsposttxstate.cc:100
transmissiontxstate.h
EMANE::Models::IEEE80211ABG::TransmissionTxState
base class used to define the transitions for the mac tx states
Definition:
transmissiontxstate.h:54
EMANE::Models::IEEE80211ABG::UnicastRtsCtsPostTxState::getWaitTime
std::pair< TimePoint, bool > getWaitTime(DownstreamQueueEntry &)
Definition:
unicastrtsctsposttxstate.cc:92
EMANE::Models::IEEE80211ABG::UnicastRtsCtsPostTxState::~UnicastRtsCtsPostTxState
~UnicastRtsCtsPostTxState()
Definition:
unicastrtsctsposttxstate.cc:43
EMANE::Models::IEEE80211ABG::UnicastRtsCtsPostTxState::process
bool process(MACLayer *, DownstreamQueueEntry &)
Definition:
unicastrtsctsposttxstate.cc:48
EMANE::Models::IEEE80211ABG::UnicastRtsCtsPostTxState::UnicastRtsCtsPostTxState
UnicastRtsCtsPostTxState()
Definition:
unicastrtsctsposttxstate.cc:40
EMANE
Definition:
agent.h:43
EMANE::Models::IEEE80211ABG::UnicastRtsCtsPostTxState
class used to define the transitions for the mac unicast rts cts post tx state
Definition:
unicastrtsctsposttxstate.h:53
EMANE::Models::IEEE80211ABG::MACLayer
IEEE 80211 ABG MAC implementation.
Definition:
models/mac/ieee80211abg/maclayer.h:104
src
models
mac
ieee80211abg
unicastrtsctsposttxstate.h
Generated by
1.8.13