Documentation ¶
Overview ¶
Package stringqueue provides string queue for libcentrifugo package client messages.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type StringQueue ¶
type StringQueue interface { // Add a string to the back of the queue // will return false if the queue is closed. // In that case the string is dropped. Add(i string) bool // Remove will remove a string from the queue. // If false is returned, it either means 1) there were no items on the queue // or 2) the queue is closed. Remove() (string, bool) // Close the queue and discard all entried in the queue // all goroutines in wait() will return Close() // Closed returns true if the queue has been closed // The call cannot guarantee that the queue hasn't been // closed while the function returns, so only "true" has a definite meaning. Closed() bool // Wait for a string to be added or queue to be closed. // If there is items on the queue the first will // be returned immediately. // Will return "", false if the queue is closed. // Otherwise the return value of "remove" is returned. Wait() (string, bool) // Cap returns the capacity (without allocations) Cap() int // Len returns the current length of the queue. Len() int }
StringQueue is an unbounded queue of strings. The queue is goroutine safe. Inspired by http://blog.dubbelboer.com/2015/04/25/go-faster-queue.html (MIT)
Click to show internal directories.
Click to hide internal directories.