code: func (c *Connection) connectVPP() error {
  	log.Debug("Connecting to VPP..")
  
  	// blocking connect
  	if err := c.vppClient.Connect(); err != nil {
  		return err
  	}
  
  	log.Debugf("Connected to VPP.")
  
  	if err := c.retrieveMessageIDs(); err != nil {
  		c.vppClient.Disconnect()
  		return fmt.Errorf("VPP is incompatible: %v", err)
  	}
  
  	// store connected state
  	atomic.StoreUint32(&c.vppConnected, 1)
  
  	return nil
  }
docs: // connectVPP performs blocking attempt to connect to VPP.