Index: net/base/priority_queue.h |
=================================================================== |
--- net/base/priority_queue.h (revision 212872) |
+++ net/base/priority_queue.h (working copy) |
@@ -139,6 +139,24 @@ |
#endif |
} |
+ // Adds |value| with |priority| to the queue. Returns a pointer to the |
+ // created element. |
+ Pointer InsertAtFront(const T& value, Priority priority) { |
+ DCHECK(CalledOnValidThread()); |
+ DCHECK_LT(priority, lists_.size()); |
+ ++size_; |
+ List& list = lists_[priority]; |
+#if !defined(NDEBUG) |
+ unsigned id = next_id_; |
+ valid_ids_.insert(id); |
+ ++next_id_; |
+ return Pointer(priority, list.insert(list.begin(), |
+ std::make_pair(id, value))); |
+#else |
+ return Pointer(priority, list.insert(list.begin(), value)); |
+#endif |
+ } |
+ |
// Removes the value pointed by |pointer| from the queue. All pointers to this |
// value including |pointer| become invalid. |
void Erase(const Pointer& pointer) { |