package plugin import ( "context" "github.com/hashicorp/go-plugin/internal/plugin" ) // GRPCControllerServer handles shutdown calls to terminate the server when the // plugin client is closed. type grpcControllerServer struct { server *GRPCServer } // Shutdown stops the grpc server. It first will attempt a graceful stop, then a // full stop on the server. func (s *grpcControllerServer) Shutdown(ctx context.Context, _ *plugin.Empty) (*plugin.Empty, error) { resp := &plugin.Empty{} // TODO: figure out why GracefullStop doesn't work. s.server.Stop() return resp, nil }