co-priority-queue
A simple priority queue for co
Last updated 11 years ago by mvila .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install co-priority-queue 
SYNC missed versions from official npm registry.

co-priority-queue Build Status

A simple priority queue for co.

Installation

In your project folder, type:

npm install co-priority-queue

Example

Queue with one consumer:

var co = require('co');
var Queue = require('co-priority-queue');

co(function *(){
  var queue = new Queue;
  queue.push('a', 1);
  queue.push('b', 2);
  queue.push('c', 2);
  console.log(yield queue.next());
  console.log(yield queue.next());
  console.log(yield queue.next());
})();

The output is:

b
c
a

Queue with multiple consumers:

var co = require('co');
var Queue = require('co-priority-queue');

co(function *(){
  queue.push('a', 1);
  queue.push('b', 2);
  queue.push('c', 2);
  var consumers = [queue.next(), queue.next(), queue.next()];
  console.log(yield consumers);
})();

The output is:

['b', 'c', 'a']

API

Queue()

Create a new priority queue.

Queue#push(data, priority)

Add data into the queue with the specified priority.

Queue#next()

Return the data with the highest priority. If the queue is empty, waits until a new data is added.

Credits

API and implementation heavily inspired from co-queue created by Julian Gruber. Thanks to him.

License

co-priority-queue is distributed under the MIT license.

Current Tags

  • 1.0.3                                ...           latest (11 years ago)

4 Versions

  • 1.0.3                                ...           11 years ago
  • 1.0.2                                ...           11 years ago
  • 1.0.1                                ...           11 years ago
  • 1.0.0                                ...           12 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 6
Dependencies (0)
None
Dev Dependencies (1)
  • co ~3.0.5
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |