|
38 |
class WifiChannel; |
38 |
class WifiChannel; |
39 |
class NetDevice; |
39 |
class NetDevice; |
40 |
|
40 |
|
|
|
41 |
struct snrDbm |
42 |
{ |
43 |
double signal; |
44 |
double noise; |
45 |
}; |
46 |
|
41 |
/** |
47 |
/** |
42 |
* \brief receive notifications about phy events. |
48 |
* \brief receive notifications about phy events. |
43 |
*/ |
49 |
*/ |
|
998 |
* units used both for the radiotap and for the prism header) |
1004 |
* units used both for the radiotap and for the prism header) |
999 |
* \param isShortPreamble true if short preamble is used, false otherwise |
1005 |
* \param isShortPreamble true if short preamble is used, false otherwise |
1000 |
* \param txVector the txvector that holds rx parameters |
1006 |
* \param txVector the txvector that holds rx parameters |
1001 |
* \param signalDbm signal power in dBm |
1007 |
* \param signalDbm signal power and noise power in dBm |
1002 |
* \param noiseDbm noise power in dBm |
1008 |
* \param packetType |
1003 |
*/ |
1009 |
*/ |
1004 |
void NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1010 |
void NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1005 |
uint16_t channelNumber, uint32_t rate, |
1011 |
uint16_t channelNumber, uint32_t rate, |
1006 |
bool isShortPreamble, WifiTxVector txvector, |
1012 |
bool isShortPreamble, WifiTxVector txvector, |
1007 |
double signalDbm, double noiseDbm); |
1013 |
struct snrDbm snr, uint8_t packetType); |
1008 |
|
1014 |
|
1009 |
/** |
1015 |
/** |
1010 |
* TracedCallback signature for monitor mode receive events. |
1016 |
* TracedCallback signature for monitor mode receive events. |
|
1023 |
* units used both for the radiotap and for the prism header) |
1029 |
* units used both for the radiotap and for the prism header) |
1024 |
* \param isShortPreamble true if short preamble is used, false otherwise |
1030 |
* \param isShortPreamble true if short preamble is used, false otherwise |
1025 |
* \param txVector the txvector that holds rx parameters |
1031 |
* \param txVector the txvector that holds rx parameters |
1026 |
* \param signalDbm signal power in dBm |
1032 |
* \param signalDbm signal power and noise power in dBm |
1027 |
* \param noiseDbm noise power in dBm |
1033 |
* \param packetType |
1028 |
*/ |
1034 |
*/ |
1029 |
typedef void (* MonitorSnifferRxCallback) |
1035 |
typedef void (* MonitorSnifferRxCallback) |
1030 |
(Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1036 |
(Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1031 |
uint16_t channelNumber, uint32_t rate, |
1037 |
uint16_t channelNumber, uint32_t rate, |
1032 |
bool isShortPreamble, WifiTxVector txvector, |
1038 |
bool isShortPreamble, WifiTxVector txvector, |
1033 |
double signalDbm, double noiseDbm); |
1039 |
struct snrDbm snr, uint8_t); |
|
|
1040 |
|
1034 |
|
1041 |
|
1035 |
/** |
1042 |
/** |
1036 |
* Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted. |
1043 |
* Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted. |
|
1047 |
*/ |
1054 |
*/ |
1048 |
void NotifyMonitorSniffTx (Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1055 |
void NotifyMonitorSniffTx (Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1049 |
uint16_t channelNumber, uint32_t rate, |
1056 |
uint16_t channelNumber, uint32_t rate, |
1050 |
bool isShortPreamble, WifiTxVector txvector); |
1057 |
bool isShortPreamble, WifiTxVector txvector, uint8_t packetType); |
1051 |
|
1058 |
|
1052 |
/** |
1059 |
/** |
1053 |
* TracedCallback signature for monitor mode transmit events. |
1060 |
* TracedCallback signature for monitor mode transmit events. |
|
1060 |
* units used both for the radiotap and for the prism header) |
1067 |
* units used both for the radiotap and for the prism header) |
1061 |
* \param isShortPreamble true if short preamble is used, false otherwise |
1068 |
* \param isShortPreamble true if short preamble is used, false otherwise |
1062 |
* \param txVector the txvector that holds tx parameters |
1069 |
* \param txVector the txvector that holds tx parameters |
|
|
1070 |
* \param packetType Type of the packet |
1063 |
*/ |
1071 |
*/ |
1064 |
typedef void (* MonitorSnifferTxCallback) |
1072 |
typedef void (* MonitorSnifferTxCallback) |
1065 |
(const Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1073 |
(const Ptr<const Packet> packet, uint16_t channelFreqMhz, |
1066 |
uint16_t channelNumber, uint32_t rate, |
1074 |
uint16_t channelNumber, uint32_t rate, |
1067 |
bool isShortPreamble, WifiTxVector txvector); |
1075 |
bool isShortPreamble, WifiTxVector txvector, uint8_t packetType); |
1068 |
|
1076 |
|
1069 |
/** |
1077 |
/** |
1070 |
* Assign a fixed random variable stream number to the random variables |
1078 |
* Assign a fixed random variable stream number to the random variables |
|
1200 |
* |
1208 |
* |
1201 |
* \see class CallBackTraceSource |
1209 |
* \see class CallBackTraceSource |
1202 |
*/ |
1210 |
*/ |
1203 |
TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, bool, WifiTxVector, double, double> m_phyMonitorSniffRxTrace; |
1211 |
TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, bool, WifiTxVector, struct snrDbm, uint8_t> m_phyMonitorSniffRxTrace; |
1204 |
|
1212 |
|
1205 |
/** |
1213 |
/** |
1206 |
* A trace source that emulates a wifi device in monitor mode |
1214 |
* A trace source that emulates a wifi device in monitor mode |
|
1212 |
* |
1220 |
* |
1213 |
* \see class CallBackTraceSource |
1221 |
* \see class CallBackTraceSource |
1214 |
*/ |
1222 |
*/ |
1215 |
TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, bool, WifiTxVector> m_phyMonitorSniffTxTrace; |
1223 |
TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, bool, WifiTxVector, uint8_t> m_phyMonitorSniffTxTrace; |
1216 |
|
1224 |
|
1217 |
uint32_t m_totalAmpduNumSymbols; //!< Number of symbols previously transmitted for the MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU |
1225 |
uint32_t m_totalAmpduNumSymbols; //!< Number of symbols previously transmitted for the MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU |
1218 |
uint32_t m_totalAmpduSize; //!< Total size of the previously transmitted MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU |
1226 |
uint32_t m_totalAmpduSize; //!< Total size of the previously transmitted MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU |