ulsubframetimer.h
上传用户:hzie11
上传日期:2013-10-07
资源大小:1487k
文件大小:2k
源码类别:

网络

开发平台:

C/C++

  1. /* This software was developed at the National Institute of Standards and
  2.  * Technology by employees of the Federal Government in the course of
  3.  * their official duties. Pursuant to title 17 Section 105 of the United
  4.  * States Code this software is not subject to copyright protection and
  5.  * is in the public domain.
  6.  * NIST assumes no responsibility whatsoever for its use by other parties,
  7.  * and makes no guarantees, expressed or implied, about its quality,
  8.  * reliability, or any other characteristic.
  9.  * <BR>
  10.  * We would appreciate acknowledgement if the software is used.
  11.  * <BR>
  12.  * NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND
  13.  * DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING
  14.  * FROM THE USE OF THIS SOFTWARE.
  15.  * </PRE></P>
  16.  * @author  rouil
  17.  */
  18. #ifndef ULSUBFRAME_H
  19. #define ULSUBFRAME_H
  20. #include "mac802_16.h"
  21. #include "phypdu.h"
  22. class UlSubFrame;
  23. /**
  24.  * This timer is used to handle the transmission of 
  25.  * a UlSubframe.
  26.  */
  27. class UlSubFrameTimer: public TimerHandler
  28. {
  29.  public:
  30.   /**
  31.    * Creates a timer to handle the subframe transmission
  32.    * @param subframe The UlSubframe
  33.    */
  34.   UlSubFrameTimer (UlSubFrame *subframe);
  35.   /**
  36.    * When it expires, the timer will handle the next packet to send
  37.    * @param e not used
  38.    */
  39.   void expire( Event* e );
  40.   /**
  41.    * Reset the timer
  42.    */
  43.   void reset ();
  44.  private:
  45.   /**
  46.    * The subframe
  47.    */
  48.   UlSubFrame *subframe_;
  49.   /**
  50.    * The current PhyPdu being handled
  51.    */
  52.   PhyPdu *pdu_;
  53.   /**
  54.    * Tag to know if we are changing PhyPdu
  55.    */
  56.   bool newphy_;
  57.   /** 
  58.    * Store local variables for faster access
  59.    */
  60.   Mac802_16 *mac_;
  61. };
  62. #endif