1212#include " simu5g/stack/rlc/am/AmTxQueue.h"
1313#include " simu5g/stack/rlc/am/LteRlcAm.h"
1414#include " simu5g/stack/mac/LteMacBase.h"
15+ #include " simu5g/stack/rlc/packet/PdcpTrackingTag_m.h"
1516
1617namespace simu5g {
1718
@@ -81,8 +82,7 @@ AmTxQueue::~AmTxQueue()
8182void AmTxQueue::enque (Packet *pkt)
8283{
8384 EV << NOW << " AmTxQueue::enque - inserting new SDU " << endl;
84- // Buffer the SDU
85- auto sdu = pkt->peekAtFront <LteRlcAmSdu>();
85+
8686 sduQueue_.insert (pkt);
8787
8888 // Check if there are waiting SDUs
@@ -101,7 +101,7 @@ std::deque<Packet *> *AmTxQueue::fragmentFrame(Packet *frame, std::deque<int>& w
101101 EV_DEBUG << " Fragmenting " << *frame << " into " << rlcFragDesc.totalFragments_ << " fragments.\n " ;
102102 B offset = B (0 );
103103 std::deque<Packet *> *fragments = new std::deque<Packet *>();
104- const auto & frameHeader = frame->peekAtFront <LteRlcAmSdu >();
104+ auto pdcpTag = frame->getTag <PdcpTrackingTag >();
105105 windowsIndex.clear ();
106106 RlcWindowDesc tmp = txWindowDesc_;
107107 B fragUnit = B (rlcFragDesc.fragUnit_ );
@@ -122,7 +122,7 @@ std::deque<Packet *> *AmTxQueue::fragmentFrame(Packet *frame, std::deque<int>& w
122122 pdu->setSnoFragment (tmp.seqNum_ );
123123 pdu->setFirstSn (rlcFragDesc.firstSn_ );
124124 pdu->setLastSn (rlcFragDesc.firstSn_ + rlcFragDesc.totalFragments_ - 1 );
125- pdu->setSnoMainPacket (frameHeader-> getSnoMainPacket ());
125+ pdu->setSnoMainPacket (pdcpTag-> getPdcpSequenceNumber ());
126126 pdu->setTxNumber (0 );
127127 fragment->insertAtFront (pdu);
128128 EV_TRACE << " Created " << *fragment << " fragment.\n " ;
@@ -160,7 +160,6 @@ void AmTxQueue::addPdus()
160160 EV << NOW << " AmTxQueue::addPdus - No pending SDU has been found" << endl;
161161 // Get the first available SDU (buffer has already been checked to be non-empty)
162162 auto pkt = check_and_cast<Packet *>(sduQueue_.pop ());
163- auto header = pkt->peekAtFront <LteRlcAmSdu>();
164163
165164 int nrFragments = ceil ((double )pkt->getByteLength () / (double )fragDesc_.fragUnit_ );
166165
@@ -809,4 +808,3 @@ void AmTxQueue::handleMessage(cMessage *msg)
809808}
810809
811810} // namespace
812-
0 commit comments