func Run()

in dev-tools/v2tool/server/serve.go [50:81]


func Run(clientPath string) error {
	err := setupLogger()
	if err != nil {
		return fmt.Errorf("error in logger setup: %w", err)
	}
	log := logp.L()

	// Generate a config object for the tool and user unit config
	manager, err := manager.InputManagerFromCfg(configFilePath)

	// Start the supplied V2 client process
	err = manager.StartInputProcess(clientPath)
	if err != nil {
		return fmt.Errorf("error starting client: %s", err)
	}

	log.Debugf("Started client process")
	// start a server instance
	srv, err := NewToolServer(manager)
	if err != nil {
		return fmt.Errorf("error creating v2tool server: %s", err)
	}

	// start the V2 server instance
	err = srv.StartServer()
	if err != nil {
		return fmt.Errorf("error starting v2tool server: %s", err)
	}

	manager.WaitForClientClose()
	return nil
}