Documentation ¶
Overview ¶
Package buffer provides an implementation of an unbounded buffer.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Unbounded ¶
type Unbounded struct {
// contains filtered or unexported fields
}
Unbounded is an implementation of an unbounded buffer which does not use extra goroutines. This is typically used for passing updates from one entity to another within gRPC.
All methods on this type are thread-safe and don't block on anything except the underlying mutex used for synchronization.
func NewUnbounded ¶
func NewUnbounded() *Unbounded
NewUnbounded returns a new instance of Unbounded.
func (*Unbounded) Get ¶
func (b *Unbounded) Get() <-chan interface{}
Get returns a read channel on which values added to the buffer, via Put(), are sent on.
Upon reading a value from this channel, users are expected to call Load() to send the next buffered value onto the channel if there is any.