code: func ReadConnectionID(r io.Reader, len int) (ConnectionID, error) {
  	if len == 0 {
  		return nil, nil
  	}
  	c := make(ConnectionID, len)
  	_, err := io.ReadFull(r, c)
  	if err == io.ErrUnexpectedEOF {
  		return nil, io.EOF
  	}
  	return c, err
  }
docs: // ReadConnectionID reads a connection ID of length len from the given io.Reader.
  // It returns io.EOF if there are not enough bytes to read.