code: func (ca *ConnackPacket) Unpack(b io.Reader) error {
  	flags, err := decodeByte(b)
  	if err != nil {
  		return err
  	}
  	ca.SessionPresent = 1&flags > 0
  	ca.ReturnCode, err = decodeByte(b)
  
  	return err
  }
docs: //Unpack decodes the details of a ControlPacket after the fixed
  //header has been read