google.golang.org/grpc@v1.72.2/interop/stress/grpc_testing/metrics_grpc.pb.go (about)

     1  // Copyright 2015-2016 gRPC authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Contains the definitions for a metrics service and the type of metrics
    16  // exposed by the service.
    17  //
    18  // Currently, 'Gauge' (i.e a metric that represents the measured value of
    19  // something at an instant of time) is the only metric type supported by the
    20  // service.
    21  
    22  // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
    23  // versions:
    24  // - protoc-gen-go-grpc v1.5.1
    25  // - protoc             v5.27.1
    26  // source: interop/stress/grpc_testing/metrics.proto
    27  
    28  package grpc_testing
    29  
    30  import (
    31  	context "context"
    32  	grpc "google.golang.org/grpc"
    33  	codes "google.golang.org/grpc/codes"
    34  	status "google.golang.org/grpc/status"
    35  )
    36  
    37  // This is a compile-time assertion to ensure that this generated file
    38  // is compatible with the grpc package it is being compiled against.
    39  // Requires gRPC-Go v1.64.0 or later.
    40  const _ = grpc.SupportPackageIsVersion9
    41  
    42  const (
    43  	MetricsService_GetAllGauges_FullMethodName = "/grpc.testing.MetricsService/GetAllGauges"
    44  	MetricsService_GetGauge_FullMethodName     = "/grpc.testing.MetricsService/GetGauge"
    45  )
    46  
    47  // MetricsServiceClient is the client API for MetricsService service.
    48  //
    49  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
    50  type MetricsServiceClient interface {
    51  	// Returns the values of all the gauges that are currently being maintained by
    52  	// the service
    53  	GetAllGauges(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GaugeResponse], error)
    54  	// Returns the value of one gauge
    55  	GetGauge(ctx context.Context, in *GaugeRequest, opts ...grpc.CallOption) (*GaugeResponse, error)
    56  }
    57  
    58  type metricsServiceClient struct {
    59  	cc grpc.ClientConnInterface
    60  }
    61  
    62  func NewMetricsServiceClient(cc grpc.ClientConnInterface) MetricsServiceClient {
    63  	return &metricsServiceClient{cc}
    64  }
    65  
    66  func (c *metricsServiceClient) GetAllGauges(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GaugeResponse], error) {
    67  	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
    68  	stream, err := c.cc.NewStream(ctx, &MetricsService_ServiceDesc.Streams[0], MetricsService_GetAllGauges_FullMethodName, cOpts...)
    69  	if err != nil {
    70  		return nil, err
    71  	}
    72  	x := &grpc.GenericClientStream[EmptyMessage, GaugeResponse]{ClientStream: stream}
    73  	if err := x.ClientStream.SendMsg(in); err != nil {
    74  		return nil, err
    75  	}
    76  	if err := x.ClientStream.CloseSend(); err != nil {
    77  		return nil, err
    78  	}
    79  	return x, nil
    80  }
    81  
    82  // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
    83  type MetricsService_GetAllGaugesClient = grpc.ServerStreamingClient[GaugeResponse]
    84  
    85  func (c *metricsServiceClient) GetGauge(ctx context.Context, in *GaugeRequest, opts ...grpc.CallOption) (*GaugeResponse, error) {
    86  	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
    87  	out := new(GaugeResponse)
    88  	err := c.cc.Invoke(ctx, MetricsService_GetGauge_FullMethodName, in, out, cOpts...)
    89  	if err != nil {
    90  		return nil, err
    91  	}
    92  	return out, nil
    93  }
    94  
    95  // MetricsServiceServer is the server API for MetricsService service.
    96  // All implementations must embed UnimplementedMetricsServiceServer
    97  // for forward compatibility.
    98  type MetricsServiceServer interface {
    99  	// Returns the values of all the gauges that are currently being maintained by
   100  	// the service
   101  	GetAllGauges(*EmptyMessage, grpc.ServerStreamingServer[GaugeResponse]) error
   102  	// Returns the value of one gauge
   103  	GetGauge(context.Context, *GaugeRequest) (*GaugeResponse, error)
   104  	mustEmbedUnimplementedMetricsServiceServer()
   105  }
   106  
   107  // UnimplementedMetricsServiceServer must be embedded to have
   108  // forward compatible implementations.
   109  //
   110  // NOTE: this should be embedded by value instead of pointer to avoid a nil
   111  // pointer dereference when methods are called.
   112  type UnimplementedMetricsServiceServer struct{}
   113  
   114  func (UnimplementedMetricsServiceServer) GetAllGauges(*EmptyMessage, grpc.ServerStreamingServer[GaugeResponse]) error {
   115  	return status.Errorf(codes.Unimplemented, "method GetAllGauges not implemented")
   116  }
   117  func (UnimplementedMetricsServiceServer) GetGauge(context.Context, *GaugeRequest) (*GaugeResponse, error) {
   118  	return nil, status.Errorf(codes.Unimplemented, "method GetGauge not implemented")
   119  }
   120  func (UnimplementedMetricsServiceServer) mustEmbedUnimplementedMetricsServiceServer() {}
   121  func (UnimplementedMetricsServiceServer) testEmbeddedByValue()                        {}
   122  
   123  // UnsafeMetricsServiceServer may be embedded to opt out of forward compatibility for this service.
   124  // Use of this interface is not recommended, as added methods to MetricsServiceServer will
   125  // result in compilation errors.
   126  type UnsafeMetricsServiceServer interface {
   127  	mustEmbedUnimplementedMetricsServiceServer()
   128  }
   129  
   130  func RegisterMetricsServiceServer(s grpc.ServiceRegistrar, srv MetricsServiceServer) {
   131  	// If the following call panics, it indicates UnimplementedMetricsServiceServer was
   132  	// embedded by pointer and is nil.  This will cause panics if an
   133  	// unimplemented method is ever invoked, so we test this at initialization
   134  	// time to prevent it from happening at runtime later due to I/O.
   135  	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
   136  		t.testEmbeddedByValue()
   137  	}
   138  	s.RegisterService(&MetricsService_ServiceDesc, srv)
   139  }
   140  
   141  func _MetricsService_GetAllGauges_Handler(srv interface{}, stream grpc.ServerStream) error {
   142  	m := new(EmptyMessage)
   143  	if err := stream.RecvMsg(m); err != nil {
   144  		return err
   145  	}
   146  	return srv.(MetricsServiceServer).GetAllGauges(m, &grpc.GenericServerStream[EmptyMessage, GaugeResponse]{ServerStream: stream})
   147  }
   148  
   149  // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
   150  type MetricsService_GetAllGaugesServer = grpc.ServerStreamingServer[GaugeResponse]
   151  
   152  func _MetricsService_GetGauge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   153  	in := new(GaugeRequest)
   154  	if err := dec(in); err != nil {
   155  		return nil, err
   156  	}
   157  	if interceptor == nil {
   158  		return srv.(MetricsServiceServer).GetGauge(ctx, in)
   159  	}
   160  	info := &grpc.UnaryServerInfo{
   161  		Server:     srv,
   162  		FullMethod: MetricsService_GetGauge_FullMethodName,
   163  	}
   164  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   165  		return srv.(MetricsServiceServer).GetGauge(ctx, req.(*GaugeRequest))
   166  	}
   167  	return interceptor(ctx, in, info, handler)
   168  }
   169  
   170  // MetricsService_ServiceDesc is the grpc.ServiceDesc for MetricsService service.
   171  // It's only intended for direct use with grpc.RegisterService,
   172  // and not to be introspected or modified (even as a copy)
   173  var MetricsService_ServiceDesc = grpc.ServiceDesc{
   174  	ServiceName: "grpc.testing.MetricsService",
   175  	HandlerType: (*MetricsServiceServer)(nil),
   176  	Methods: []grpc.MethodDesc{
   177  		{
   178  			MethodName: "GetGauge",
   179  			Handler:    _MetricsService_GetGauge_Handler,
   180  		},
   181  	},
   182  	Streams: []grpc.StreamDesc{
   183  		{
   184  			StreamName:    "GetAllGauges",
   185  			Handler:       _MetricsService_GetAllGauges_Handler,
   186  			ServerStreams: true,
   187  		},
   188  	},
   189  	Metadata: "interop/stress/grpc_testing/metrics.proto",
   190  }