code: func ReadRow(reader io.Reader) (row *Row, err error) {
  	encodedBytes, hasErr := ReadMessage(reader)
  	if hasErr != nil {
  		if hasErr != io.EOF {
  			return row, fmt.Errorf("ReadRow ReadMessage: %v", hasErr)
  		}
  		return row, io.EOF
  	}
  	if row, err = DecodeRow(encodedBytes); err != nil {
  		return row, fmt.Errorf("ReadRow failed to decode byte: %v", err)
  	}
  	return row, err
  }
docs: // ReadRow read and decode one row of data