code: func (r *Reader) Read(p []byte) (int, error) {
  	msg, err := r.ReadMessage()
  	if err != nil {
  		return -1, err
  	}
  
  	var data string
  
  	if msg.Full == "" {
  		data = msg.Short
  	} else {
  		data = msg.Full
  	}
  
  	return strings.NewReader(data).Read(p)
  }
docs: // FIXME: this will discard data if p isn't big enough to hold the
  // full message.