Commit Graph

17 Commits

Author SHA1 Message Date
9a15ebed25 Add iterators for mq and npq.
All checks were successful
Build & Test / Main (push) Successful in 13s
2024-09-07 02:10:40 -07:00
c5dde2ab43 Update golangci-lint in build workflow.
All checks were successful
Build & Test / Main (push) Successful in 7s
2024-08-22 00:59:57 -07:00
38ef55e463 Update Go in build workflow.
Some checks failed
Build & Test / Main (push) Failing after 11s
2024-08-22 00:59:08 -07:00
87212466ae Add iterators for a couple queues.
Some checks failed
Build & Test / Main (push) Failing after 5s
2024-08-22 00:53:48 -07:00
d569bb2686 Add Gitea Actions workflow.
All checks were successful
Build & Test / Main (push) Successful in 34s
2023-12-11 00:24:40 -08:00
a20c8908de Unlock() before panic() when already closed. 2023-07-10 10:55:25 -07:00
9d1228988d Package queue misnamed in docstring. 2023-03-03 22:38:23 -08:00
0840eb9272 Add test for invalid priority levels to npq. 2023-03-03 22:34:58 -08:00
9f8d0760f1 Add npq package. 2023-03-03 22:20:11 -08:00
f7474fb673 Rename package circ to queue. 2023-03-03 20:09:51 -08:00
b00fe25128 Various improvements.
* Expand README.md, provide benchmark results.
* Add docs, benchmarks for binheap and circ packages.
* Add methods Len() and Capacity().
* Change *sync.Cond to sync.Cond.
* TryRecv() and TrySend() distinguish empty and closed errors.
* Improve test coverage.
* Add basic Makefile.
* Fix documentation mistakes.
2023-03-03 15:35:49 -08:00
b3b491d9a9 Move priority queue to pq package; improve docs. 2023-03-02 01:53:12 -08:00
5e23a92314 Add high contention benchmark. 2023-03-01 19:31:36 -08:00
ab364c31bb Implement a true priority queue.
* Add a binary max-heap implementation, `binheap`.
* Rename `precise` package to `mq`.
2023-03-01 19:29:15 -08:00
0759aaa2cd We've got a prioritized message queue, not a priority queue. 2023-03-01 13:39:19 -08:00
c4e92faaf7 Fix wait condition and ordering in send(). 2023-03-01 01:03:31 -08:00
4052afa31d Initial commit. 2023-02-28 20:33:22 -08:00