code: func (c *ChanWriter) Write(buf []byte) (int, error) {
  	packet := &StreamChunk{make([]byte, len(buf)), time.Now()}
  	copy(packet.Data, buf) // Make a copy before sending it to the channel
  	c.output <- packet
  	return len(buf), nil
  }
docs: // Write `buf` as a StreamChunk to the channel. The full buffer is always written, and error
  // will always be nil. Calling `Write()` after closing the channel will panic.