code: func (eq *Queue) Close() error {
  	eq.mu.Lock()
  	defer eq.mu.Unlock()
  
  	if eq.closed {
  		return nil
  	}
  
  	// set closed flag
  	eq.closed = true
  	eq.cond.Signal() // signal flushes queue
  	eq.cond.Wait()   // wait for signal from last flush
  	return eq.dst.Close()
  }
docs: // Close shutsdown the event queue, flushing