示例#1
0
void TIDorb::core::poa::RequestQueue::discardAll() 
{
  // TIDThr::Synchronized synchro(*this); // Always called from a syncronized block

  QueuedRequest* req;
 
  switch (_comparator_type){
  case PRIORITY_REQUEST_COMPARATOR:
    while (!_priority_value->empty()){  
      req = _priority_value->top();
      req->setMustDiscard(true);
      _priority_value->pop();
    }
    break;
  case DEADLINE_REQUEST_COMPARATOR:
    while (!_deadline_value->empty()){  
      req = _deadline_value->top();
      req->setMustDiscard(true);
      _deadline_value->pop();
    }
    break; 
  case TEMPORAL_REQUEST_COMPARATOR:
    while (!_temporal_value->empty()){  
      req = _temporal_value->top();
      req->setMustDiscard(true);
      _temporal_value->pop();
    }
    break;
  default:
    while (!_value->empty()){
      req = _value->front();
      req->setMustDiscard(true);
      _value->pop_front();
    }
    break;
  }

};