34 #ifndef EMANEMODELSIEEE80211ABGDOWNSTREAMQUEUEENTRY_HEADER_ 35 #define EMANEMODELSIEEE80211ABGDOWNSTREAMQUEUEENTRY_HEADER_ 45 namespace IEEE80211ABG
73 durationMicroseconds_{},
75 postTxDelayMicroseconds_{},
81 bRtsCtsEnable_{
false},
82 bCollisionOccured_{
false},
89 std::uint8_t u8Category,
90 std::uint8_t maxRetries):
93 txOpMicroseconds_{txOpMicroseconds},
94 durationMicroseconds_{},
96 postTxDelayMicroseconds_{},
99 u8Category_{u8Category},
101 maxRetries_{maxRetries},
102 bRtsCtsEnable_{
false},
103 bCollisionOccured_{
false},
109 pkt_ = std::move(entry.pkt_);
110 acquireTime_ = entry.acquireTime_;
111 txOpMicroseconds_ = entry.txOpMicroseconds_;
112 durationMicroseconds_ = entry.durationMicroseconds_;
113 preTxDelayTime_ = entry.preTxDelayTime_;
114 postTxDelayMicroseconds_ = entry.postTxDelayMicroseconds_;
115 txTime_ = entry.txTime_;
116 u16Seq_ = entry.u16Seq_;
117 u8Category_= entry.u8Category_;
118 numRetries_ = entry.numRetries_;
119 maxRetries_= entry.maxRetries_;
120 bRtsCtsEnable_= entry.bRtsCtsEnable_;
122 u64DataRatebps_ = entry.u64DataRatebps_;
128 pkt_{std::move(entry.pkt_)},
129 acquireTime_{entry.acquireTime_},
130 txOpMicroseconds_{entry.txOpMicroseconds_},
131 durationMicroseconds_{entry.durationMicroseconds_},
132 preTxDelayTime_{entry.preTxDelayTime_},
133 postTxDelayMicroseconds_{entry.postTxDelayMicroseconds_},
134 txTime_{entry.txTime_},
135 u16Seq_{entry.u16Seq_},
136 u8Category_{entry.u8Category_},
137 numRetries_{entry.numRetries_},
138 maxRetries_{entry.maxRetries_},
139 bRtsCtsEnable_{entry.bRtsCtsEnable_},
140 bCollisionOccured_{entry. bCollisionOccured_},
141 u64DataRatebps_{entry.u64DataRatebps_}
147 #endif //EMANEMODELSIEEE80211ABGDOWNSTREAMQUEUEENTRY_HEADER_
EMANE::DownstreamPacket pkt_
DownstreamQueueEntry(DownstreamQueueEntry &&entry)
structure defines the mac downstream packet queue entry
Store source, destination, creation time and priority information for a packet.
std::uint64_t u64DataRatebps_
Specialized packet the allows downstream processing to add layer specific headers as the packet trave...
Microseconds durationMicroseconds_
std::chrono::microseconds Microseconds
Microseconds txOpMicroseconds_
Clock::time_point TimePoint
TimePoint preTxDelayTime_
Microseconds postTxDelayMicroseconds_
DownstreamQueueEntry & operator=(DownstreamQueueEntry &&entry)
DownstreamQueueEntry(EMANE::DownstreamPacket &pkt, const TimePoint &tv, const Microseconds &txOpMicroseconds, std::uint8_t u8Category, std::uint8_t maxRetries)