gt:     return new OpenConfigTelemetryStub(channel);
context: /*******************************************************************************
   * This file is part of OpenNMS(R).
   *
   * Copyright (C) 2020 The OpenNMS Group, Inc.
   * OpenNMS(R) is Copyright (C) 1999-2020 The OpenNMS Group, Inc.
   *
   * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
   *
   * OpenNMS(R) is free software: you can redistribute it and/or modify
   * it under the terms of the GNU Affero General Public License as published
   * by the Free Software Foundation, either version 3 of the License,
   * or (at your option) any later version.
   *
   * OpenNMS(R) is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU Affero General Public License for more details.
   *
   * You should have received a copy of the GNU Affero General Public License
   * along with OpenNMS(R).  If not, see:
   *      http://www.gnu.org/licenses/
   *
   * For more information contact:
   *     OpenNMS(R) Licensing <license@opennms.org>
   *     http://www.opennms.org/
   *     http://www.opennms.com/
   *******************************************************************************/
  
  package org.opennms.features.openconfig.proto.jti;
  
  import static io.grpc.MethodDescriptor.generateFullMethodName;
  import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
  import static io.grpc.stub.ClientCalls.asyncUnaryCall;
  import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
  import static io.grpc.stub.ClientCalls.blockingUnaryCall;
  import static io.grpc.stub.ClientCalls.futureUnaryCall;
  import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
  import static io.grpc.stub.ServerCalls.asyncUnaryCall;
  import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
  
  /**
   * <pre>
   * Interface exported by Agent
   * </pre>
   */
  @javax.annotation.Generated(
      value = "by gRPC proto compiler (version 1.24.0)",
      comments = "Source: telemetry.proto")
  public final class OpenConfigTelemetryGrpc {
  
    private OpenConfigTelemetryGrpc() {}
  
    public static final String SERVICE_NAME = "telemetry.OpenConfigTelemetry";
  
    // Static method descriptors that strictly reflect the proto.
    private static volatile io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.SubscriptionRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.OpenConfigData> getTelemetrySubscribeMethod;
  
    @io.grpc.stub.annotations.RpcMethod(
        fullMethodName = SERVICE_NAME + '/' + "telemetrySubscribe",
        requestType = org.opennms.features.openconfig.proto.jti.Telemetry.SubscriptionRequest.class,
        responseType = org.opennms.features.openconfig.proto.jti.Telemetry.OpenConfigData.class,
        methodType = io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING)
    public static io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.SubscriptionRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.OpenConfigData> getTelemetrySubscribeMethod() {
      io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.SubscriptionRequest, org.opennms.features.openconfig.proto.jti.Telemetry.OpenConfigData> getTelemetrySubscribeMethod;
      if ((getTelemetrySubscribeMethod = OpenConfigTelemetryGrpc.getTelemetrySubscribeMethod) == null) {
        synchronized (OpenConfigTelemetryGrpc.class) {
          if ((getTelemetrySubscribeMethod = OpenConfigTelemetryGrpc.getTelemetrySubscribeMethod) == null) {
            OpenConfigTelemetryGrpc.getTelemetrySubscribeMethod = getTelemetrySubscribeMethod =
                io.grpc.MethodDescriptor.<org.opennms.features.openconfig.proto.jti.Telemetry.SubscriptionRequest, org.opennms.features.openconfig.proto.jti.Telemetry.OpenConfigData>newBuilder()
                .setType(io.grpc.MethodDescriptor.MethodType.SERVER_STREAMING)
                .setFullMethodName(generateFullMethodName(SERVICE_NAME, "telemetrySubscribe"))
                .setSampledToLocalTracing(true)
                .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.SubscriptionRequest.getDefaultInstance()))
                .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.OpenConfigData.getDefaultInstance()))
                .setSchemaDescriptor(new OpenConfigTelemetryMethodDescriptorSupplier("telemetrySubscribe"))
                .build();
          }
        }
      }
      return getTelemetrySubscribeMethod;
    }
  
    private static volatile io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionReply> getCancelTelemetrySubscriptionMethod;
  
    @io.grpc.stub.annotations.RpcMethod(
        fullMethodName = SERVICE_NAME + '/' + "cancelTelemetrySubscription",
        requestType = org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionRequest.class,
        responseType = org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionReply.class,
        methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
    public static io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionReply> getCancelTelemetrySubscriptionMethod() {
      io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionRequest, org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionReply> getCancelTelemetrySubscriptionMethod;
      if ((getCancelTelemetrySubscriptionMethod = OpenConfigTelemetryGrpc.getCancelTelemetrySubscriptionMethod) == null) {
        synchronized (OpenConfigTelemetryGrpc.class) {
          if ((getCancelTelemetrySubscriptionMethod = OpenConfigTelemetryGrpc.getCancelTelemetrySubscriptionMethod) == null) {
            OpenConfigTelemetryGrpc.getCancelTelemetrySubscriptionMethod = getCancelTelemetrySubscriptionMethod =
                io.grpc.MethodDescriptor.<org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionRequest, org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionReply>newBuilder()
                .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
                .setFullMethodName(generateFullMethodName(SERVICE_NAME, "cancelTelemetrySubscription"))
                .setSampledToLocalTracing(true)
                .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionRequest.getDefaultInstance()))
                .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.CancelSubscriptionReply.getDefaultInstance()))
                .setSchemaDescriptor(new OpenConfigTelemetryMethodDescriptorSupplier("cancelTelemetrySubscription"))
                .build();
          }
        }
      }
      return getCancelTelemetrySubscriptionMethod;
    }
  
    private static volatile io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsReply> getGetTelemetrySubscriptionsMethod;
  
    @io.grpc.stub.annotations.RpcMethod(
        fullMethodName = SERVICE_NAME + '/' + "getTelemetrySubscriptions",
        requestType = org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsRequest.class,
        responseType = org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsReply.class,
        methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
    public static io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsReply> getGetTelemetrySubscriptionsMethod() {
      io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsRequest, org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsReply> getGetTelemetrySubscriptionsMethod;
      if ((getGetTelemetrySubscriptionsMethod = OpenConfigTelemetryGrpc.getGetTelemetrySubscriptionsMethod) == null) {
        synchronized (OpenConfigTelemetryGrpc.class) {
          if ((getGetTelemetrySubscriptionsMethod = OpenConfigTelemetryGrpc.getGetTelemetrySubscriptionsMethod) == null) {
            OpenConfigTelemetryGrpc.getGetTelemetrySubscriptionsMethod = getGetTelemetrySubscriptionsMethod =
                io.grpc.MethodDescriptor.<org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsRequest, org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsReply>newBuilder()
                .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
                .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getTelemetrySubscriptions"))
                .setSampledToLocalTracing(true)
                .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsRequest.getDefaultInstance()))
                .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.GetSubscriptionsReply.getDefaultInstance()))
                .setSchemaDescriptor(new OpenConfigTelemetryMethodDescriptorSupplier("getTelemetrySubscriptions"))
                .build();
          }
        }
      }
      return getGetTelemetrySubscriptionsMethod;
    }
  
    private static volatile io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateReply> getGetTelemetryOperationalStateMethod;
  
    @io.grpc.stub.annotations.RpcMethod(
        fullMethodName = SERVICE_NAME + '/' + "getTelemetryOperationalState",
        requestType = org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateRequest.class,
        responseType = org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateReply.class,
        methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
    public static io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateReply> getGetTelemetryOperationalStateMethod() {
      io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateRequest, org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateReply> getGetTelemetryOperationalStateMethod;
      if ((getGetTelemetryOperationalStateMethod = OpenConfigTelemetryGrpc.getGetTelemetryOperationalStateMethod) == null) {
        synchronized (OpenConfigTelemetryGrpc.class) {
          if ((getGetTelemetryOperationalStateMethod = OpenConfigTelemetryGrpc.getGetTelemetryOperationalStateMethod) == null) {
            OpenConfigTelemetryGrpc.getGetTelemetryOperationalStateMethod = getGetTelemetryOperationalStateMethod =
                io.grpc.MethodDescriptor.<org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateRequest, org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateReply>newBuilder()
                .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
                .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getTelemetryOperationalState"))
                .setSampledToLocalTracing(true)
                .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateRequest.getDefaultInstance()))
                .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.GetOperationalStateReply.getDefaultInstance()))
                .setSchemaDescriptor(new OpenConfigTelemetryMethodDescriptorSupplier("getTelemetryOperationalState"))
                .build();
          }
        }
      }
      return getGetTelemetryOperationalStateMethod;
    }
  
    private static volatile io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingReply> getGetDataEncodingsMethod;
  
    @io.grpc.stub.annotations.RpcMethod(
        fullMethodName = SERVICE_NAME + '/' + "getDataEncodings",
        requestType = org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingRequest.class,
        responseType = org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingReply.class,
        methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
    public static io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingRequest,
        org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingReply> getGetDataEncodingsMethod() {
      io.grpc.MethodDescriptor<org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingRequest, org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingReply> getGetDataEncodingsMethod;
      if ((getGetDataEncodingsMethod = OpenConfigTelemetryGrpc.getGetDataEncodingsMethod) == null) {
        synchronized (OpenConfigTelemetryGrpc.class) {
          if ((getGetDataEncodingsMethod = OpenConfigTelemetryGrpc.getGetDataEncodingsMethod) == null) {
            OpenConfigTelemetryGrpc.getGetDataEncodingsMethod = getGetDataEncodingsMethod =
                io.grpc.MethodDescriptor.<org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingRequest, org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingReply>newBuilder()
                .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
                .setFullMethodName(generateFullMethodName(SERVICE_NAME, "getDataEncodings"))
                .setSampledToLocalTracing(true)
                .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingRequest.getDefaultInstance()))
                .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
                    org.opennms.features.openconfig.proto.jti.Telemetry.DataEncodingReply.getDefaultInstance()))
                .setSchemaDescriptor(new OpenConfigTelemetryMethodDescriptorSupplier("getDataEncodings"))
                .build();
          }
        }
      }
      return getGetDataEncodingsMethod;
    }
  
    /**
     * Creates a new async stub that supports all call types for the service
     */
    public static OpenConfigTelemetryStub newStub(io.grpc.Channel channel) {
  