queue_model_basic.h 639 B

1234567891011121314151617181920212223
  1. #ifndef __QUEUE_MODEL_BASIC_H__
  2. #define __QUEUE_MODEL_BASIC_H__
  3. #include "queue_model.h"
  4. #include "moving_average.h"
  5. #include "fixed_types.h"
  6. #include "subsecond_time.h"
  7. class QueueModelBasic : public QueueModel
  8. {
  9. public:
  10. QueueModelBasic(String name, UInt32 id, bool moving_avg_enabled, UInt32 moving_avg_window_size, String moving_avg_type_str);
  11. ~QueueModelBasic();
  12. SubsecondTime computeQueueDelay(SubsecondTime pkt_time, SubsecondTime processing_time, core_id_t requester = INVALID_CORE_ID);
  13. private:
  14. SubsecondTime m_queue_time;
  15. MovingAverage<SubsecondTime>* m_moving_average;
  16. };
  17. #endif /* __QUEUE_MODEL_BASIC_H__ */