priorityq

package
v0.1.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2020 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	High = Priority(0)
	Mid  = Priority(1)
	Low  = Priority(2)
)

Variables

View Source
var (
	ErrUnknownPriority = errors.New("unknown priority")
	ErrQueueClosed     = errors.New("the queue is closed")
)

Functions

This section is empty.

Types

type Priority

type Priority int

type Queue

type Queue struct {
	// contains filtered or unexported fields
}

Queue is the priority queue

func New

func New(prioQueueLimit int) *Queue

New returns a new priority queue where each priority has a buffer of prioQueueLimit

func (*Queue) Close

func (pq *Queue) Close()

Close the priority queue No messages should be expected to be read after a call to Close

func (*Queue) Read

func (pq *Queue) Read() (interface{}, error)

Read returns the next message by priority An error is set iff the priority queue has been closed

func (*Queue) Write

func (pq *Queue) Write(prio Priority, m interface{}) error

Write a message m to the associated queue with the provided priority This method blocks iff the queue is full Returns an error iff a queue does not exist for the provided name Note: writing to the pq after a call to close is forbidden and will result in a panic

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL