code: func (m *Muxer) WriteChannel(t Channel, p []byte) (int, error) {
  	wrote := 0
  	size := len(p)
  	for wrote < size {
  		n, err := m.doWrite(t, p[wrote:])
  		wrote += n
  
  		if err != nil {
  			return wrote, err
  		}
  	}
  
  	return wrote, nil
  }
docs: // WriteChannel writes p in the given channel. This method can be used with any
  // channel, but is recommend use it only for the ProgressMessage and
  // ErrorMessage channels and use Write for the PackData channel