func (q *pubQueue) Close() {
	q.mu.Lock()
	defer q.mu.Unlock()
	q.closed = true
	q.cnt = 0
	q.nodes = nil
	q.size = 0
	q.cond.Broadcast()
}
// Close the queue and discard all entries in the queue
// all goroutines in wait() will return.
Close the queue and discard all entries in the queue
all goroutines in wait() will return.
// Close the queue and discard all entries in the queue // all goroutines in wait () will return .
func (q *pubQueue) Close() {
	q.mu.Lock()
	defer q.mu.Unlock()
	q.closed = true
	q.cnt = 0
	q.nodes = nil
	q.size = 0
	q.cond.Broadcast()
}
func ( q * pubQueue ) Close ( ) { q . mu . Lock ( ) defer q . mu . Unlock ( ) q . closed = true q . cnt = 0 q . nodes = nil q . size = 0 q . cond . Broadcast ( ) }
Close the queue and discard all entries in the queue
all goroutines in wait() will return.
Close the queue and discard all entries in the queue all goroutines in wait () will return .