code: func (s *summary) swapBufs(now time.Time) {
  	if len(s.coldBuf) != 0 {
  		panic("coldBuf is not empty")
  	}
  	s.hotBuf, s.coldBuf = s.coldBuf, s.hotBuf
  	// hotBuf is now empty and gets new expiration set.
  	for now.After(s.hotBufExpTime) {
  		s.hotBufExpTime = s.hotBufExpTime.Add(s.streamDuration)
  	}
  }
docs: // swapBufs needs mtx AND bufMtx locked, coldBuf must be empty.