package nucleus import ( pb "code.fbi.h-da.de/cocsn/gosdn/cliInterface" "context" "google.golang.org/grpc" "log" "net" ) // server is used to implement helloworld.GreeterServer. type server struct { pb.UnimplementedGreeterServer core *Core } // SayHello implements helloworld.GreeterServer func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) { log.Printf("Received: %v", in.GetName()) return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil } func (s *server) Shutdown(ctx context.Context, in *pb.ShutdownRequest) (*pb.ShutdownReply, error) { log.Printf("Received: %v", in.GetName()) isRunning = false return &pb.ShutdownReply{Message: "Shutdown " + in.GetName()}, nil } func getCLIGoing(core *Core) { log.Println("Starting: GetCLIGoing") // Boot-up the control interface for the cli cliControlListener, err := net.Listen("tcp", core.config.CliSocket) if err != nil { log.Fatalf("failed to listen: %v", err) } cliControlServer := grpc.NewServer() pb.RegisterGreeterServer(cliControlServer, &server{core: core}) if err := cliControlServer.Serve(cliControlListener); err != nil { log.Fatalf("failed to serve: %v", err) } log.Println("Started: GetCLIGoing") }