semantic-red.cc
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /* -*- Mode:C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t -*- */
  2. /*
  3.  * A RED queue that allows certain operations to be done in a way
  4.  * that depends on higher-layer semantics. The only such operation
  5.  * at present is pickPacketToDrop(), which invokes the corresponding
  6.  * member function in SemanticPacketQueue.
  7.  */
  8. #include "red.h"
  9. #include "semantic-packetqueue.h"
  10. class SemanticREDQueue : public REDQueue {
  11. public:
  12. SemanticREDQueue() : REDQueue() {}
  13. Packet* pickPacketToDrop() {
  14. return(((SemanticPacketQueue*) pq_)->pickPacketToDrop());
  15. }
  16. Packet* pickPacketForECN(Packet *pkt) {
  17. return(((SemanticPacketQueue*) pq_)->pickPacketForECN(pkt));
  18. }
  19. };
  20. static class SemanticREDClass : public TclClass {
  21. public:
  22. SemanticREDClass() : TclClass("Queue/RED/Semantic") {}
  23. TclObject* create(int, const char*const*) {
  24. return (new SemanticREDQueue);
  25. }
  26. } class_semantic_red;