A Discrete-Event Network Simulator
API
tx-vector-tag.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,2007 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 #ifndef TX_VECTOR_TAG_H
22 #define TX_VECTOR_TAG_H
23 
24 #include "ns3/tag.h"
25 #include "wifi-tx-vector.h"
26 
27 /***************************************************************
28  * Packet Mode Tagger
29  ***************************************************************/
30 
31 namespace ns3 {
32 
37 {
38 public:
49  WifiTxVector GetDataTxVector (void) const;
50 
55  static TypeId GetTypeId (void);
56  virtual TypeId GetInstanceTypeId (void) const;
57  virtual uint32_t GetSerializedSize (void) const;
58  virtual void Serialize (TagBuffer i) const;
59  virtual void Deserialize (TagBuffer i);
60  virtual void Print (std::ostream &os) const;
61 
62 private:
64 };
65 
70 {
71 public:
83  WifiTxVector GetRtsTxVector (void) const;
84 
89  static TypeId GetTypeId (void);
90  virtual TypeId GetInstanceTypeId (void) const;
91  virtual uint32_t GetSerializedSize (void) const;
92  virtual void Serialize (TagBuffer i) const;
93  virtual void Deserialize (TagBuffer i);
94  virtual void Print (std::ostream &os) const;
95 
96 private:
98 };
99 
104 {
105 public:
112  HighLatencyCtsToSelfTxVectorTag (WifiTxVector ctsToSelfTxVector);
116  WifiTxVector GetCtsToSelfTxVector (void) const;
117 
122  static TypeId GetTypeId (void);
123  virtual TypeId GetInstanceTypeId (void) const;
124  virtual uint32_t GetSerializedSize (void) const;
125  virtual void Serialize (TagBuffer i) const;
126  virtual void Deserialize (TagBuffer i);
127  virtual void Print (std::ostream &os) const;
128 
129 private:
131 };
132 
133 } //namespace ns3
134 
135 #endif /* TX_VECTOR_TAG_H */
virtual void Deserialize(TagBuffer i)
virtual void Print(std::ostream &os) const
HighLatencyDataTxVectorTag class.
Definition: tx-vector-tag.h:36
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
virtual void Serialize(TagBuffer i) const
WifiTxVector m_rtsTxVector
TXVECTOR for data frames.
Definition: tx-vector-tag.h:97
WifiTxVector m_ctsToSelfTxVector
TXVECTOR for CTS-to-self frames.
WifiTxVector GetRtsTxVector(void) const
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
static TypeId GetTypeId(void)
Get the type ID.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
WifiTxVector GetDataTxVector(void) const
WifiTxVector m_dataTxVector
TXVECTOR for data frames.
Definition: tx-vector-tag.h:63
tag a set of bytes in a packet
Definition: tag.h:36
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual uint32_t GetSerializedSize(void) const
static TypeId GetTypeId(void)
Get the type ID.
virtual void Print(std::ostream &os) const
virtual void Serialize(TagBuffer i) const
HighLatencyCtsToSelfTxVectorTag class.
static TypeId GetTypeId(void)
Get the type ID.
virtual void Deserialize(TagBuffer i)
read and write tag data
Definition: tag-buffer.h:51
virtual uint32_t GetSerializedSize(void) const
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
virtual void Serialize(TagBuffer i) const
WifiTxVector GetCtsToSelfTxVector(void) const
virtual void Deserialize(TagBuffer i)
a unique identifier for an interface.
Definition: type-id.h:58
HighLatencyRtsTxVectorTag class.
Definition: tx-vector-tag.h:69
virtual uint32_t GetSerializedSize(void) const
virtual void Print(std::ostream &os) const