code: func (m *Stub) Start() error {
  	err := m.cleanup()
  	if err != nil {
  		return err
  	}
  
  	sock, err := net.Listen("unix", m.socket)
  	if err != nil {
  		return err
  	}
  
  	m.wg.Add(1)
  	m.server = grpc.NewServer([]grpc.ServerOption{}...)
  	pluginapi.RegisterDevicePluginServer(m.server, m)
  	watcherapi.RegisterRegistrationServer(m.server, m)
  
  	go func() {
  		defer m.wg.Done()
  		m.server.Serve(sock)
  	}()
  	_, conn, err := dial(m.socket)
  	if err != nil {
  		return err
  	}
  	conn.Close()
  	log.Println("Starting to serve on", m.socket)
  
  	return nil
  }
docs: // Start starts the gRPC server of the device plugin. Can only
  // be called once.