core::rt: Rename WorkQueue methods, remove extra push method

This commit is contained in:
Brian Anderson 2013-05-18 00:44:47 -07:00
parent 26babaafcd
commit f03c9bd08c
2 changed files with 8 additions and 12 deletions

View File

@ -112,7 +112,7 @@ pub impl Scheduler {
/// to run it later. Always use this instead of pushing to the work queue
/// directly.
fn enqueue_task(&mut self, task: ~Coroutine) {
self.work_queue.push_front(task);
self.work_queue.push(task);
self.event_loop.callback(resume_task_from_queue);
fn resume_task_from_queue() {
@ -129,7 +129,7 @@ pub impl Scheduler {
rtdebug!("looking in work queue for task to schedule");
let mut this = self;
match this.work_queue.pop_front() {
match this.work_queue.pop() {
Some(task) => {
rtdebug!("resuming task from work queue");
this.resume_task_immediately(task);

View File

@ -23,25 +23,21 @@ pub impl<T> WorkQueue<T> {
}
}
fn push_back(&mut self, value: T) {
self.queue.push(value)
fn push(&mut self, value: T) {
self.queue.unshift(value)
}
fn pop_back(&mut self) -> Option<T> {
fn pop(&mut self) -> Option<T> {
if !self.queue.is_empty() {
Some(self.queue.pop())
Some(self.queue.shift())
} else {
None
}
}
fn push_front(&mut self, value: T) {
self.queue.unshift(value)
}
fn pop_front(&mut self) -> Option<T> {
fn steal(&mut self) -> Option<T> {
if !self.queue.is_empty() {
Some(self.queue.shift())
Some(self.queue.pop())
} else {
None
}