📄 burst.cc
字号:
/* This software was developed at the National Institute of Standards and * Technology by employees of the Federal Government in the course of * their official duties. Pursuant to title 17 Section 105 of the United * States Code this software is not subject to copyright protection and * is in the public domain. * NIST assumes no responsibility whatsoever for its use by other parties, * and makes no guarantees, expressed or implied, about its quality, * reliability, or any other characteristic. * <BR> * We would appreciate acknowledgement if the software is used. * <BR> * NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND * DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING * FROM THE USE OF THIS SOFTWARE. * </PRE></P> * @author rouil */#include "burst.h"/** * Creates a burst * @param phypdu The PhyPdu where it is located */Burst::Burst (PhyPdu *phypdu) : cid_(-1), duration_(0), starttime_(0),iuc_(-1){ assert (phypdu); phypdu_ = phypdu; queue_ = NULL;}/* * Delete the object */Burst::~Burst () { //delete packets in queue if (queue_!=NULL) { for (Packet *p = dequeue(); p ; p=dequeue()) { Packet::free (p); } delete (queue_); }} /** * Set burst CID * @param cid The burst CID */void Burst::setCid( int cid ){ cid_ = cid;}/** * Return the CID for this burst * @return the CID for this burst */int Burst::getCid( ){ return cid_;}/** * Return the burst duration in units of OFDM symbols * @return the burst duration */int Burst::getDuration( ){ return duration_;}/** * Set the duration of the burst in units of OFDM symbols * @param duration The burst duration */void Burst::setDuration (int duration){ duration_=duration;}/** * Set burst IUC * @param iuc The burst IUC */void Burst::setIUC( int iuc ){ iuc_ = iuc;}/** * Return the Interval Usage Code * @return the burst start time */int Burst::getIUC( ){ return iuc_;}/** * Set burst start time in units of symbol duration * @param starttime the burst start time */void Burst::setStarttime( int starttime ){ assert (starttime >= 0); starttime_ = starttime;}/** * Return the burst start time in units of symbol duration * @return the burst start time */int Burst::getStarttime( ){ return starttime_;}/** * Enqueue the given packet * @param p The packet to enqueue */void Burst::enqueue (Packet * p) { if (queue_ == NULL) { //this is the first packet we enqueue, create queue queue_ = new PacketQueue(); } queue_->enque (p);}/** * Dequeue a packet from the queue * @param p The packet to enqueue */Packet * Burst::dequeue () { if (queue_==NULL) //in case there was never an enqueue return NULL; return queue_->deque ();}/** * Trigger the timer to send packets for this burst * @param time The time the trigger expires *//*void Burst::trigger_timer (double time){ //assert (NOW < time); timer_.resched (time);}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -