scanningstation.cc
上传用户: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. #include "scanningstation.h"
  19. /**
  20.  * Create an data object with the given attributes
  21.  * @param nodeid The node 
  22.  * @param duration The scanning duration
  23.  * @param start The frame at which the scanning start
  24.  * @param interleaving The interleaving interval
  25.  * @param iteration The number of iterations
  26.  */
  27. ScanningStation::ScanningStation (int nodeid, int duration, int start, int interleaving, int iteration)
  28. {
  29.   nodeid_ = nodeid;
  30.   duration_ = duration;
  31.   start_frame_ = start;
  32.   interleaving_ = interleaving;
  33.   iteration_ = iteration;
  34. }
  35. /**
  36.  * Determines if the node is currently scanning
  37.  * @param frame The current frame
  38.  */
  39. bool ScanningStation::isScanning (int frame)
  40. {
  41.   //printf ("isScanning %d frame=%d, start_frame=%d, duration=%d, interleaving=%d iteration %dn", nodeid_, frame, start_frame_, duration_, interleaving_, iteration_);
  42.   if ((frame < start_frame_)||(frame > (start_frame_ + (duration_+interleaving_)*iteration_)))
  43.     return false;
  44.   else {
  45.     return (((frame-start_frame_)%(duration_+interleaving_))-duration_)<0;
  46.   }
  47. }