code: func (a *Aggregator) ReadAll() [][]*rfc5424.Message {
  	// TODO(benburkert): restructure Aggregator & ring.Buffer to avoid nested locks
  	a.bmu.Lock()
  	defer a.bmu.Unlock()
  
  	buffers := make([][]*rfc5424.Message, 0, len(a.buffers))
  	for _, buf := range a.buffers {
  		buffers = append(buffers, buf.Read())
  	}
  
  	return buffers
  }
docs: // ReadAll returns all buffered messages.