code: func (c *ChannelOut) Request(request []byte) ([]byte, error) {
  	if err := c.Send(request); err != nil {
  		return nil, err
  	}
  
  	reply, err := c.Receive()
  	if err != nil {
  		return nil, err
  	}
  
  	if bytes.HasPrefix(reply, rpciOK) {
  		return reply[2:], nil
  	}
  
  	return nil, fmt.Errorf("request %q: %q", request, reply)
  }
docs: // Request sends an RPC command to the vmx and checks the return code for success or error