...

Source file src/google.golang.org/grpc/interop/stress/grpc_testing/metrics_grpc.pb.go

Documentation: google.golang.org/grpc/interop/stress/grpc_testing

     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.3.0
    25  // - protoc             v4.25.2
    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 forward compatible implementations.
   108  type UnimplementedMetricsServiceServer struct {
   109  }
   110  
   111  func (UnimplementedMetricsServiceServer) GetAllGauges(*EmptyMessage, grpc.ServerStreamingServer[GaugeResponse]) error {
   112  	return status.Errorf(codes.Unimplemented, "method GetAllGauges not implemented")
   113  }
   114  func (UnimplementedMetricsServiceServer) GetGauge(context.Context, *GaugeRequest) (*GaugeResponse, error) {
   115  	return nil, status.Errorf(codes.Unimplemented, "method GetGauge not implemented")
   116  }
   117  func (UnimplementedMetricsServiceServer) mustEmbedUnimplementedMetricsServiceServer() {}
   118  
   119  // UnsafeMetricsServiceServer may be embedded to opt out of forward compatibility for this service.
   120  // Use of this interface is not recommended, as added methods to MetricsServiceServer will
   121  // result in compilation errors.
   122  type UnsafeMetricsServiceServer interface {
   123  	mustEmbedUnimplementedMetricsServiceServer()
   124  }
   125  
   126  func RegisterMetricsServiceServer(s grpc.ServiceRegistrar, srv MetricsServiceServer) {
   127  	s.RegisterService(&MetricsService_ServiceDesc, srv)
   128  }
   129  
   130  func _MetricsService_GetAllGauges_Handler(srv interface{}, stream grpc.ServerStream) error {
   131  	m := new(EmptyMessage)
   132  	if err := stream.RecvMsg(m); err != nil {
   133  		return err
   134  	}
   135  	return srv.(MetricsServiceServer).GetAllGauges(m, &grpc.GenericServerStream[EmptyMessage, GaugeResponse]{ServerStream: stream})
   136  }
   137  
   138  // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
   139  type MetricsService_GetAllGaugesServer = grpc.ServerStreamingServer[GaugeResponse]
   140  
   141  func _MetricsService_GetGauge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   142  	in := new(GaugeRequest)
   143  	if err := dec(in); err != nil {
   144  		return nil, err
   145  	}
   146  	if interceptor == nil {
   147  		return srv.(MetricsServiceServer).GetGauge(ctx, in)
   148  	}
   149  	info := &grpc.UnaryServerInfo{
   150  		Server:     srv,
   151  		FullMethod: MetricsService_GetGauge_FullMethodName,
   152  	}
   153  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   154  		return srv.(MetricsServiceServer).GetGauge(ctx, req.(*GaugeRequest))
   155  	}
   156  	return interceptor(ctx, in, info, handler)
   157  }
   158  
   159  // MetricsService_ServiceDesc is the grpc.ServiceDesc for MetricsService service.
   160  // It's only intended for direct use with grpc.RegisterService,
   161  // and not to be introspected or modified (even as a copy)
   162  var MetricsService_ServiceDesc = grpc.ServiceDesc{
   163  	ServiceName: "grpc.testing.MetricsService",
   164  	HandlerType: (*MetricsServiceServer)(nil),
   165  	Methods: []grpc.MethodDesc{
   166  		{
   167  			MethodName: "GetGauge",
   168  			Handler:    _MetricsService_GetGauge_Handler,
   169  		},
   170  	},
   171  	Streams: []grpc.StreamDesc{
   172  		{
   173  			StreamName:    "GetAllGauges",
   174  			Handler:       _MetricsService_GetAllGauges_Handler,
   175  			ServerStreams: true,
   176  		},
   177  	},
   178  	Metadata: "interop/stress/grpc_testing/metrics.proto",
   179  }
   180  

View as plain text