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; } };