bqueue

Persistent embedded FIFO queue implementation built on boltDB
installation
$ go get pkg.coulon.dev/bqueue
Usage
package main
import (
"fmt"
"log"
"pkg.coulon.dev/bqueue"
)
func main() {
s, err := bqueue.Open("queue.db", 0600, nil)
if err != nil {
log.Fatal(err)
}
defer s.Close()
q, err := s.NewQueue([]byte("default"))
if err != nil {
log.Fatal(err)
}
err = q.Enqueue([]byte("Hello World!"))
if err != nil {
log.Fatal(err)
}
m, err := q.Deqeue()
if err != nil {
log.Fatal(err)
}
fmt.Printf("message: %s\n", m)
}
Roadmap
- Persistent FIFO queue
- Multiple queues on the same db
- Thread-safety
- Adding metadata to payloads