--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/-BOxQnNrX7A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.
Hi,Yes I should add the timer before asking for access, so it should be added in the method StartAccessRequest just before calling the DCF manager, but plea how can I schedule a call for the method that permit to wait for a predefined time?Thanks
kaouther MANSOURIngénieur chercheur en Réseaux Informatiques et Télécommunication
2017-06-22 19:16 GMT+02:00 Rediet <redietea...@gmail.com>:
Hello Angelina,Are you sure that you want to add the timer to NotifyAccessGranted? Because if you do so, considering that this method is called by DcfManager through the corresponding DcfState whenever the AIFS and BO timers have expired, you'll mess up the underlying CSMA/CA...If you plan on waiting for more packets in the queue, why not modify the StartAccessIfNeeded method (which is called before timers are activated). You can, for example, schedule, if not already scheduled, a call to a method (X seconds later) that will sollicit DcfManager. You can thus, during the wait time (i.e. when scheduled flag is raised), peek at the queue to count for packets.BR,Rediet
Le jeudi 22 juin 2017 18:21:48 UTC+2, Angelina a écrit :Hi,
I want to insert a waiting time to increase the probability of arriving of new packets which can be aggregated together, thus when the access is granted we wait for a predefined time. I should so modify the method NotifyAccessGranted() in the class edca-txop-n.cc. the problem is that I need to count the number of packets that arrives to the queue during the waiting time!!
help please and thank you
--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/-BOxQnNrX7A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/-BOxQnNrX7A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.
//Modification: insert a waiting time before invoking RequestAccess function
EventId m_DelayedManagerCall;
NS_ASSERT (m_DelayedManagerCall.IsExpired ());
m_DelayedManagerCall=Simulator::Schedule(NanoSeconds(1), &DcfManager::RequestAccess,m_manager,m_dcf);
std::cout<<"manager request access at"<< Simulator::Now()<<'\n';
//m_manager->RequestAccess (m_dcf);
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.
void
MacLow::ForwardDown (Ptr<const Packet> packet, const WifiMacHeader* hdr, WifiTxVector txVector)
{
NS_LOG_FUNCTION (this << packet << hdr << txVector);
NS_LOG_DEBUG ("send " << hdr->GetTypeString () <<
", to=" << hdr->GetAddr1 () <<
", size=" << packet->GetSize () <<
", mode=" << txVector.GetMode () <<
", preamble=" << txVector.GetPreambleType () <<
", duration=" << hdr->GetDuration () <<
", seq=0x" << std::hex << m_currentHdr.GetSequenceControl () << std::dec);
if (!m_ampdu || hdr->IsAck () || hdr->IsRts () || hdr->IsBlockAck () || hdr->IsMgt ())
{
m_phy->SendPacket (packet, txVector);
}
else
{
Ptr<Packet> newPacket;
Ptr <WifiMacQueueItem> dequeuedItem;
WifiMacHeader newHdr;
WifiMacTrailer fcs;
uint8_t queueSize = m_aggregateQueue[GetTid (packet, *hdr)]->GetNPackets ();
std::cout << "A-MPDU size:" << uint16_t (queueSize) << " ";
bool singleMpdu = false;
bool last = false;
MpduType mpdutype = NORMAL_MPDU;'build' finished successfully (26.122s)
A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MPDU size:5 A-MP^CInterrupted if (m_ampdu) { AmpduTag ampdu; m_currentPacket->PeekPacketTag(ampdu); std::cout << "SendDataPacket A-MPDU size:" << uint16_t (ampdu.GetRemainingNbOfMpdus ()) << " "; }
ForwardDown (m_currentPacket, &m_currentHdr, m_currentTxVector, preamble);
SendDataPacket A-MPDU size:23 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41 SendDataPacket A-MPDU size:41
std::cout << "A-MPDU size:" << uint16_t (queueSize) << " ";