src/devices/wifi/dca-txop.h
changeset 4720 15221757964f
parent 4462 67b55159dd9e
child 5152 f14eff131d13
equal deleted inserted replaced
4716:055af17f7225 4720:15221757964f
    27 #include "ns3/nstime.h"
    27 #include "ns3/nstime.h"
    28 #include "ns3/object.h"
    28 #include "ns3/object.h"
    29 #include "wifi-mac-header.h"
    29 #include "wifi-mac-header.h"
    30 #include "wifi-mode.h"
    30 #include "wifi-mode.h"
    31 #include "wifi-remote-station-manager.h"
    31 #include "wifi-remote-station-manager.h"
       
    32 #include "dcf.h"
    32 
    33 
    33 namespace ns3 {
    34 namespace ns3 {
    34 
    35 
    35 class DcfState;
    36 class DcfState;
    36 class DcfManager;
    37 class DcfManager;
    60  * it has been retransmitted up until the ssrc or slrc thresholds.
    61  * it has been retransmitted up until the ssrc or slrc thresholds.
    61  *
    62  *
    62  * The rts/cts policy is similar to the fragmentation policy: when
    63  * The rts/cts policy is similar to the fragmentation policy: when
    63  * a packet is bigger than a threshold, the rts/cts protocol is used.
    64  * a packet is bigger than a threshold, the rts/cts protocol is used.
    64  */
    65  */
    65 class DcaTxop : public Object
    66 class DcaTxop : public Dcf
    66 {
    67 {
    67 public:
    68 public:
    68   static TypeId GetTypeId (void);
    69   static TypeId GetTypeId (void);
    69 
    70 
    70   typedef Callback <void, const WifiMacHeader&> TxOk;
    71   typedef Callback <void, const WifiMacHeader&> TxOk;
    88    */
    89    */
    89   void SetTxFailedCallback (TxFailed callback);
    90   void SetTxFailedCallback (TxFailed callback);
    90 
    91 
    91   void SetMaxQueueSize (uint32_t size);
    92   void SetMaxQueueSize (uint32_t size);
    92   void SetMaxQueueDelay (Time delay);
    93   void SetMaxQueueDelay (Time delay);
    93   void SetMinCw (uint32_t minCw);
    94   virtual void SetMinCw (uint32_t minCw);
    94   void SetMaxCw (uint32_t maxCw);
    95   virtual void SetMaxCw (uint32_t maxCw);
    95   void SetAifsn (uint32_t aifsn);
    96   virtual void SetAifsn (uint32_t aifsn);
    96   uint32_t GetMinCw (void) const;
    97   virtual uint32_t GetMinCw (void) const;
    97   uint32_t GetMaxCw (void) const;
    98   virtual uint32_t GetMaxCw (void) const;
    98   uint32_t GetAifsn (void) const;
    99   virtual uint32_t GetAifsn (void) const;
    99 
   100 
   100   /**
   101   /**
   101    * \param packet packet to send
   102    * \param packet packet to send
   102    * \param hdr header of packet to send.
   103    * \param hdr header of packet to send.
   103    *
   104    *