context: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: service.proto
  #region Designer generated code
  
  using System;
  using System.Threading;
  using System.Threading.Tasks;
  using Grpc.Core;
  
  namespace Nodes.Pathing {
    public static partial class PathingService
    {
      static readonly string __ServiceName = "PathingService";
  
      static readonly Marshaller<global::Nodes.Pathing.RestartRequest> __Marshaller_RestartRequest = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.RestartRequest.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.RestartResponse> __Marshaller_RestartResponse = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.RestartResponse.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.ListLoadedNavmeshesRequest> __Marshaller_ListLoadedNavmeshesRequest = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.ListLoadedNavmeshesRequest.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.ListLoadedNavmeshesResponse> __Marshaller_ListLoadedNavmeshesResponse = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.ListLoadedNavmeshesResponse.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.PathingRequest> __Marshaller_PathingRequest = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.PathingRequest.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.PathingResponse> __Marshaller_PathingResponse = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.PathingResponse.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.GetRandomPointRequest> __Marshaller_GetRandomPointRequest = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.GetRandomPointRequest.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.GetRandomPointResponse> __Marshaller_GetRandomPointResponse = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.GetRandomPointResponse.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.GetClosestPointRequest> __Marshaller_GetClosestPointRequest = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.GetClosestPointRequest.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.GetClosestPointResponse> __Marshaller_GetClosestPointResponse = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.GetClosestPointResponse.Parser.ParseFrom);
      static readonly Marshaller<global::Nodes.Pathing.HangRequest> __Marshaller_HangRequest = Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Nodes.Pathing.HangRequest.Parser.ParseFrom);
  
      static readonly Method<global::Nodes.Pathing.RestartRequest, global::Nodes.Pathing.RestartResponse> __Method_Restart = new Method<global::Nodes.Pathing.RestartRequest, global::Nodes.Pathing.RestartResponse>(
          MethodType.Unary,
          __ServiceName,
          "Restart",
          __Marshaller_RestartRequest,
          __Marshaller_RestartResponse);
  
      static readonly Method<global::Nodes.Pathing.ListLoadedNavmeshesRequest, global::Nodes.Pathing.ListLoadedNavmeshesResponse> __Method_ListLoadedNavmeshes = new Method<global::Nodes.Pathing.ListLoadedNavmeshesRequest, global::Nodes.Pathing.ListLoadedNavmeshesResponse>(
          MethodType.Unary,
          __ServiceName,
          "ListLoadedNavmeshes",
          __Marshaller_ListLoadedNavmeshesRequest,
          __Marshaller_ListLoadedNavmeshesResponse);
  
      static readonly Method<global::Nodes.Pathing.PathingRequest, global::Nodes.Pathing.PathingResponse> __Method_GetPathStraight = new Method<global::Nodes.Pathing.PathingRequest, global::Nodes.Pathing.PathingResponse>(
          MethodType.Unary,
          __ServiceName,
          "GetPathStraight",
          __Marshaller_PathingRequest,
          __Marshaller_PathingResponse);
  
      static readonly Method<global::Nodes.Pathing.PathingRequest, global::Nodes.Pathing.PathingResponse> __Method_GetPathStreamed = new Method<global::Nodes.Pathing.PathingRequest, global::Nodes.Pathing.PathingResponse>(
          MethodType.DuplexStreaming,
          __ServiceName,
          "GetPathStreamed",
          __Marshaller_PathingRequest,
          __Marshaller_PathingResponse);
  
      static readonly Method<global::Nodes.Pathing.GetRandomPointRequest, global::Nodes.Pathing.GetRandomPointResponse> __Method_GetRandomPoint = new Method<global::Nodes.Pathing.GetRandomPointRequest, global::Nodes.Pathing.GetRandomPointResponse>(
          MethodType.Unary,
          __ServiceName,
          "GetRandomPoint",
          __Marshaller_GetRandomPointRequest,
          __Marshaller_GetRandomPointResponse);
  
      static readonly Method<global::Nodes.Pathing.GetClosestPointRequest, global::Nodes.Pathing.GetClosestPointResponse> __Method_GetClosestPoint = new Method<global::Nodes.Pathing.GetClosestPointRequest, global::Nodes.Pathing.GetClosestPointResponse>(
          MethodType.Unary,
          __ServiceName,
          "GetClosestPoint",
          __Marshaller_GetClosestPointRequest,
          __Marshaller_GetClosestPointResponse);
  
      static readonly Method<global::Nodes.Pathing.HangRequest, global::Nodes.Pathing.HangRequest> __Method_HangTest = new Method<global::Nodes.Pathing.HangRequest, global::Nodes.Pathing.HangRequest>(
          MethodType.Unary,
          __ServiceName,
          "HangTest",
          __Marshaller_HangRequest,
          __Marshaller_HangRequest);
  
      /// <summary>Service descriptor</summary>
      public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
      {
        get { return global::Nodes.Pathing.ServiceReflection.Descriptor.Services[0]; }
      }
  
      /// <summary>Base class for server-side implementations of PathingService</summary>
      public abstract partial class PathingServiceBase
      {
        public virtual global::System.Threading.Tasks.Task<global::Nodes.Pathing.RestartResponse> Restart(global::Nodes.Pathing.RestartRequest request, ServerCallContext context)
        {
          throw new RpcException(new Status(StatusCode.Unimplemented, ""));
        }
  
        public virtual global::System.Threading.Tasks.Task<global::Nodes.Pathing.ListLoadedNavmeshesResponse> ListLoadedNavmeshes(global::Nodes.Pathing.ListLoadedNavmeshesRequest request, ServerCallContext context)
        {
          throw new RpcException(new Status(StatusCode.Unimplemented, ""));
        }
  
        public virtual global::System.Threading.Tasks.Task<global::Nodes.Pathing.PathingResponse> GetPathStraight(global::Nodes.Pathing.PathingRequest request, ServerCallContext context)
        {
          throw new RpcException(new Status(StatusCode.Unimplemented, ""));
        }
  
        public virtual global::System.Threading.Tasks.Task GetPathStreamed(IAsyncStreamReader<global::Nodes.Pathing.PathingRequest> requestStream, IServerStreamWriter<global::Nodes.Pathing.PathingResponse> responseStream, ServerCallContext context)
        {
          throw new RpcException(new Status(StatusCode.Unimplemented, ""));
        }
  
        public virtual global::System.Threading.Tasks.Task<global::Nodes.Pathing.GetRandomPointResponse> GetRandomPoint(global::Nodes.Pathing.GetRandomPointRequest request, ServerCallContext context)
        {
          throw new RpcException(new Status(StatusCode.Unimplemented, ""));
        }
  
        public virtual global::System.Threading.Tasks.Task<global::Nodes.Pathing.GetClosestPointResponse> GetClosestPoint(global::Nodes.Pathing.GetClosestPointRequest request, ServerCallContext context)
        {
          throw new RpcException(new Status(StatusCode.Unimplemented, ""));
        }
  
        public virtual global::System.Threading.Tasks.Task<global::Nodes.Pathing.HangRequest> HangTest(global::Nodes.Pathing.HangRequest request, ServerCallContext context)
        {
          throw new RpcException(new Status(StatusCode.Unimplemented, ""));
        }
  
      }
  
      /// <summary>Client for PathingService</summary>
      public partial class PathingServiceClient : ClientBase<PathingServiceClient>
      {
        /// <summary>Creates a new client for PathingService</summary>
        /// <param name="channel">The channel to use to make remote calls.</param>
        public PathingServiceClient(Channel channel) : base(channel)
        {
        }
        /// <summary>Creates a new client for PathingService that uses a custom <c>CallInvoker</c>.</summary>
        /// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
        public PathingServiceClient(CallInvoker callInvoker) : base(callInvoker)
        {
        }
        /// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
        protected PathingServiceClient() : base()
        {
        }
        /// <summary>Protected constructor to allow creation of configured clients.</summary>
        /// <param name="configuration">The client configuration.</param>
        protected PathingServiceClient(ClientBaseConfiguration configuration) : base(configuration)
        {
        }
  
        public virtual global::Nodes.Pathing.RestartResponse Restart(global::Nodes.Pathing.RestartRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return Restart(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual global::Nodes.Pathing.RestartResponse Restart(global::Nodes.Pathing.RestartRequest request, CallOptions options)
        {
          return CallInvoker.BlockingUnaryCall(__Method_Restart, null, options, request);
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.RestartResponse> RestartAsync(global::Nodes.Pathing.RestartRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return RestartAsync(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.RestartResponse> RestartAsync(global::Nodes.Pathing.RestartRequest request, CallOptions options)
        {
          return CallInvoker.AsyncUnaryCall(__Method_Restart, null, options, request);
        }
        public virtual global::Nodes.Pathing.ListLoadedNavmeshesResponse ListLoadedNavmeshes(global::Nodes.Pathing.ListLoadedNavmeshesRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return ListLoadedNavmeshes(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual global::Nodes.Pathing.ListLoadedNavmeshesResponse ListLoadedNavmeshes(global::Nodes.Pathing.ListLoadedNavmeshesRequest request, CallOptions options)
        {
          return CallInvoker.BlockingUnaryCall(__Method_ListLoadedNavmeshes, null, options, request);
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.ListLoadedNavmeshesResponse> ListLoadedNavmeshesAsync(global::Nodes.Pathing.ListLoadedNavmeshesRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return ListLoadedNavmeshesAsync(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.ListLoadedNavmeshesResponse> ListLoadedNavmeshesAsync(global::Nodes.Pathing.ListLoadedNavmeshesRequest request, CallOptions options)
        {
          return CallInvoker.AsyncUnaryCall(__Method_ListLoadedNavmeshes, null, options, request);
        }
        public virtual global::Nodes.Pathing.PathingResponse GetPathStraight(global::Nodes.Pathing.PathingRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return GetPathStraight(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual global::Nodes.Pathing.PathingResponse GetPathStraight(global::Nodes.Pathing.PathingRequest request, CallOptions options)
        {
          return CallInvoker.BlockingUnaryCall(__Method_GetPathStraight, null, options, request);
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.PathingResponse> GetPathStraightAsync(global::Nodes.Pathing.PathingRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return GetPathStraightAsync(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.PathingResponse> GetPathStraightAsync(global::Nodes.Pathing.PathingRequest request, CallOptions options)
        {
          return CallInvoker.AsyncUnaryCall(__Method_GetPathStraight, null, options, request);
        }
        public virtual AsyncDuplexStreamingCall<global::Nodes.Pathing.PathingRequest, global::Nodes.Pathing.PathingResponse> GetPathStreamed(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return GetPathStreamed(new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual AsyncDuplexStreamingCall<global::Nodes.Pathing.PathingRequest, global::Nodes.Pathing.PathingResponse> GetPathStreamed(CallOptions options)
        {
          return CallInvoker.AsyncDuplexStreamingCall(__Method_GetPathStreamed, null, options);
        }
        public virtual global::Nodes.Pathing.GetRandomPointResponse GetRandomPoint(global::Nodes.Pathing.GetRandomPointRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return GetRandomPoint(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual global::Nodes.Pathing.GetRandomPointResponse GetRandomPoint(global::Nodes.Pathing.GetRandomPointRequest request, CallOptions options)
        {
          return CallInvoker.BlockingUnaryCall(__Method_GetRandomPoint, null, options, request);
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.GetRandomPointResponse> GetRandomPointAsync(global::Nodes.Pathing.GetRandomPointRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return GetRandomPointAsync(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.GetRandomPointResponse> GetRandomPointAsync(global::Nodes.Pathing.GetRandomPointRequest request, CallOptions options)
        {
          return CallInvoker.AsyncUnaryCall(__Method_GetRandomPoint, null, options, request);
        }
        public virtual global::Nodes.Pathing.GetClosestPointResponse GetClosestPoint(global::Nodes.Pathing.GetClosestPointRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return GetClosestPoint(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual global::Nodes.Pathing.GetClosestPointResponse GetClosestPoint(global::Nodes.Pathing.GetClosestPointRequest request, CallOptions options)
        {
          return CallInvoker.BlockingUnaryCall(__Method_GetClosestPoint, null, options, request);
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.GetClosestPointResponse> GetClosestPointAsync(global::Nodes.Pathing.GetClosestPointRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return GetClosestPointAsync(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.GetClosestPointResponse> GetClosestPointAsync(global::Nodes.Pathing.GetClosestPointRequest request, CallOptions options)
        {
          return CallInvoker.AsyncUnaryCall(__Method_GetClosestPoint, null, options, request);
        }
        public virtual global::Nodes.Pathing.HangRequest HangTest(global::Nodes.Pathing.HangRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return HangTest(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual global::Nodes.Pathing.HangRequest HangTest(global::Nodes.Pathing.HangRequest request, CallOptions options)
        {
          return CallInvoker.BlockingUnaryCall(__Method_HangTest, null, options, request);
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.HangRequest> HangTestAsync(global::Nodes.Pathing.HangRequest request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default(CancellationToken))
        {
          return HangTestAsync(request, new CallOptions(headers, deadline, cancellationToken));
        }
        public virtual AsyncUnaryCall<global::Nodes.Pathing.HangRequest> HangTestAsync(global::Nodes.Pathing.HangRequest request, CallOptions options)
        {
          return CallInvoker.AsyncUnaryCall(__Method_HangTest, null, options, request);
        }
        /// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
        protected override PathingServiceClient NewInstance(ClientBaseConfiguration configuration)
        {
  
gt:         return new PathingServiceClient(configuration);