1// Code generated by protoc-gen-go-grpc. DO NOT EDIT. 2 3package routeguide 4 5import ( 6 context "context" 7 grpc "google.golang.org/grpc" 8 codes "google.golang.org/grpc/codes" 9 status "google.golang.org/grpc/status" 10) 11 12// This is a compile-time assertion to ensure that this generated file 13// is compatible with the grpc package it is being compiled against. 14// Requires gRPC-Go v1.32.0 or later. 15const _ = grpc.SupportPackageIsVersion7 16 17// RouteGuideClient is the client API for RouteGuide service. 18// 19// 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. 20type RouteGuideClient interface { 21 // A simple RPC. 22 // 23 // Obtains the feature at a given position. 24 // 25 // A feature with an empty name is returned if there's no feature at the given 26 // position. 27 GetFeature(ctx context.Context, in *Point, opts ...grpc.CallOption) (*Feature, error) 28 // A server-to-client streaming RPC. 29 // 30 // Obtains the Features available within the given Rectangle. Results are 31 // streamed rather than returned at once (e.g. in a response message with a 32 // repeated field), as the rectangle may cover a large area and contain a 33 // huge number of features. 34 ListFeatures(ctx context.Context, in *Rectangle, opts ...grpc.CallOption) (RouteGuide_ListFeaturesClient, error) 35 // A client-to-server streaming RPC. 36 // 37 // Accepts a stream of Points on a route being traversed, returning a 38 // RouteSummary when traversal is completed. 39 RecordRoute(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RecordRouteClient, error) 40 // A Bidirectional streaming RPC. 41 // 42 // Accepts a stream of RouteNotes sent while a route is being traversed, 43 // while receiving other RouteNotes (e.g. from other users). 44 RouteChat(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RouteChatClient, error) 45} 46 47type routeGuideClient struct { 48 cc grpc.ClientConnInterface 49} 50 51func NewRouteGuideClient(cc grpc.ClientConnInterface) RouteGuideClient { 52 return &routeGuideClient{cc} 53} 54 55func (c *routeGuideClient) GetFeature(ctx context.Context, in *Point, opts ...grpc.CallOption) (*Feature, error) { 56 out := new(Feature) 57 err := c.cc.Invoke(ctx, "/routeguide.RouteGuide/GetFeature", in, out, opts...) 58 if err != nil { 59 return nil, err 60 } 61 return out, nil 62} 63 64func (c *routeGuideClient) ListFeatures(ctx context.Context, in *Rectangle, opts ...grpc.CallOption) (RouteGuide_ListFeaturesClient, error) { 65 stream, err := c.cc.NewStream(ctx, &RouteGuide_ServiceDesc.Streams[0], "/routeguide.RouteGuide/ListFeatures", opts...) 66 if err != nil { 67 return nil, err 68 } 69 x := &routeGuideListFeaturesClient{stream} 70 if err := x.ClientStream.SendMsg(in); err != nil { 71 return nil, err 72 } 73 if err := x.ClientStream.CloseSend(); err != nil { 74 return nil, err 75 } 76 return x, nil 77} 78 79type RouteGuide_ListFeaturesClient interface { 80 Recv() (*Feature, error) 81 grpc.ClientStream 82} 83 84type routeGuideListFeaturesClient struct { 85 grpc.ClientStream 86} 87 88func (x *routeGuideListFeaturesClient) Recv() (*Feature, error) { 89 m := new(Feature) 90 if err := x.ClientStream.RecvMsg(m); err != nil { 91 return nil, err 92 } 93 return m, nil 94} 95 96func (c *routeGuideClient) RecordRoute(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RecordRouteClient, error) { 97 stream, err := c.cc.NewStream(ctx, &RouteGuide_ServiceDesc.Streams[1], "/routeguide.RouteGuide/RecordRoute", opts...) 98 if err != nil { 99 return nil, err 100 } 101 x := &routeGuideRecordRouteClient{stream} 102 return x, nil 103} 104 105type RouteGuide_RecordRouteClient interface { 106 Send(*Point) error 107 CloseAndRecv() (*RouteSummary, error) 108 grpc.ClientStream 109} 110 111type routeGuideRecordRouteClient struct { 112 grpc.ClientStream 113} 114 115func (x *routeGuideRecordRouteClient) Send(m *Point) error { 116 return x.ClientStream.SendMsg(m) 117} 118 119func (x *routeGuideRecordRouteClient) CloseAndRecv() (*RouteSummary, error) { 120 if err := x.ClientStream.CloseSend(); err != nil { 121 return nil, err 122 } 123 m := new(RouteSummary) 124 if err := x.ClientStream.RecvMsg(m); err != nil { 125 return nil, err 126 } 127 return m, nil 128} 129 130func (c *routeGuideClient) RouteChat(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RouteChatClient, error) { 131 stream, err := c.cc.NewStream(ctx, &RouteGuide_ServiceDesc.Streams[2], "/routeguide.RouteGuide/RouteChat", opts...) 132 if err != nil { 133 return nil, err 134 } 135 x := &routeGuideRouteChatClient{stream} 136 return x, nil 137} 138 139type RouteGuide_RouteChatClient interface { 140 Send(*RouteNote) error 141 Recv() (*RouteNote, error) 142 grpc.ClientStream 143} 144 145type routeGuideRouteChatClient struct { 146 grpc.ClientStream 147} 148 149func (x *routeGuideRouteChatClient) Send(m *RouteNote) error { 150 return x.ClientStream.SendMsg(m) 151} 152 153func (x *routeGuideRouteChatClient) Recv() (*RouteNote, error) { 154 m := new(RouteNote) 155 if err := x.ClientStream.RecvMsg(m); err != nil { 156 return nil, err 157 } 158 return m, nil 159} 160 161// RouteGuideServer is the server API for RouteGuide service. 162// All implementations must embed UnimplementedRouteGuideServer 163// for forward compatibility 164type RouteGuideServer interface { 165 // A simple RPC. 166 // 167 // Obtains the feature at a given position. 168 // 169 // A feature with an empty name is returned if there's no feature at the given 170 // position. 171 GetFeature(context.Context, *Point) (*Feature, error) 172 // A server-to-client streaming RPC. 173 // 174 // Obtains the Features available within the given Rectangle. Results are 175 // streamed rather than returned at once (e.g. in a response message with a 176 // repeated field), as the rectangle may cover a large area and contain a 177 // huge number of features. 178 ListFeatures(*Rectangle, RouteGuide_ListFeaturesServer) error 179 // A client-to-server streaming RPC. 180 // 181 // Accepts a stream of Points on a route being traversed, returning a 182 // RouteSummary when traversal is completed. 183 RecordRoute(RouteGuide_RecordRouteServer) error 184 // A Bidirectional streaming RPC. 185 // 186 // Accepts a stream of RouteNotes sent while a route is being traversed, 187 // while receiving other RouteNotes (e.g. from other users). 188 RouteChat(RouteGuide_RouteChatServer) error 189 mustEmbedUnimplementedRouteGuideServer() 190} 191 192// UnimplementedRouteGuideServer must be embedded to have forward compatible implementations. 193type UnimplementedRouteGuideServer struct { 194} 195 196func (UnimplementedRouteGuideServer) GetFeature(context.Context, *Point) (*Feature, error) { 197 return nil, status.Errorf(codes.Unimplemented, "method GetFeature not implemented") 198} 199func (UnimplementedRouteGuideServer) ListFeatures(*Rectangle, RouteGuide_ListFeaturesServer) error { 200 return status.Errorf(codes.Unimplemented, "method ListFeatures not implemented") 201} 202func (UnimplementedRouteGuideServer) RecordRoute(RouteGuide_RecordRouteServer) error { 203 return status.Errorf(codes.Unimplemented, "method RecordRoute not implemented") 204} 205func (UnimplementedRouteGuideServer) RouteChat(RouteGuide_RouteChatServer) error { 206 return status.Errorf(codes.Unimplemented, "method RouteChat not implemented") 207} 208func (UnimplementedRouteGuideServer) mustEmbedUnimplementedRouteGuideServer() {} 209 210// UnsafeRouteGuideServer may be embedded to opt out of forward compatibility for this service. 211// Use of this interface is not recommended, as added methods to RouteGuideServer will 212// result in compilation errors. 213type UnsafeRouteGuideServer interface { 214 mustEmbedUnimplementedRouteGuideServer() 215} 216 217func RegisterRouteGuideServer(s grpc.ServiceRegistrar, srv RouteGuideServer) { 218 s.RegisterService(&RouteGuide_ServiceDesc, srv) 219} 220 221func _RouteGuide_GetFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 222 in := new(Point) 223 if err := dec(in); err != nil { 224 return nil, err 225 } 226 if interceptor == nil { 227 return srv.(RouteGuideServer).GetFeature(ctx, in) 228 } 229 info := &grpc.UnaryServerInfo{ 230 Server: srv, 231 FullMethod: "/routeguide.RouteGuide/GetFeature", 232 } 233 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 234 return srv.(RouteGuideServer).GetFeature(ctx, req.(*Point)) 235 } 236 return interceptor(ctx, in, info, handler) 237} 238 239func _RouteGuide_ListFeatures_Handler(srv interface{}, stream grpc.ServerStream) error { 240 m := new(Rectangle) 241 if err := stream.RecvMsg(m); err != nil { 242 return err 243 } 244 return srv.(RouteGuideServer).ListFeatures(m, &routeGuideListFeaturesServer{stream}) 245} 246 247type RouteGuide_ListFeaturesServer interface { 248 Send(*Feature) error 249 grpc.ServerStream 250} 251 252type routeGuideListFeaturesServer struct { 253 grpc.ServerStream 254} 255 256func (x *routeGuideListFeaturesServer) Send(m *Feature) error { 257 return x.ServerStream.SendMsg(m) 258} 259 260func _RouteGuide_RecordRoute_Handler(srv interface{}, stream grpc.ServerStream) error { 261 return srv.(RouteGuideServer).RecordRoute(&routeGuideRecordRouteServer{stream}) 262} 263 264type RouteGuide_RecordRouteServer interface { 265 SendAndClose(*RouteSummary) error 266 Recv() (*Point, error) 267 grpc.ServerStream 268} 269 270type routeGuideRecordRouteServer struct { 271 grpc.ServerStream 272} 273 274func (x *routeGuideRecordRouteServer) SendAndClose(m *RouteSummary) error { 275 return x.ServerStream.SendMsg(m) 276} 277 278func (x *routeGuideRecordRouteServer) Recv() (*Point, error) { 279 m := new(Point) 280 if err := x.ServerStream.RecvMsg(m); err != nil { 281 return nil, err 282 } 283 return m, nil 284} 285 286func _RouteGuide_RouteChat_Handler(srv interface{}, stream grpc.ServerStream) error { 287 return srv.(RouteGuideServer).RouteChat(&routeGuideRouteChatServer{stream}) 288} 289 290type RouteGuide_RouteChatServer interface { 291 Send(*RouteNote) error 292 Recv() (*RouteNote, error) 293 grpc.ServerStream 294} 295 296type routeGuideRouteChatServer struct { 297 grpc.ServerStream 298} 299 300func (x *routeGuideRouteChatServer) Send(m *RouteNote) error { 301 return x.ServerStream.SendMsg(m) 302} 303 304func (x *routeGuideRouteChatServer) Recv() (*RouteNote, error) { 305 m := new(RouteNote) 306 if err := x.ServerStream.RecvMsg(m); err != nil { 307 return nil, err 308 } 309 return m, nil 310} 311 312// RouteGuide_ServiceDesc is the grpc.ServiceDesc for RouteGuide service. 313// It's only intended for direct use with grpc.RegisterService, 314// and not to be introspected or modified (even as a copy) 315var RouteGuide_ServiceDesc = grpc.ServiceDesc{ 316 ServiceName: "routeguide.RouteGuide", 317 HandlerType: (*RouteGuideServer)(nil), 318 Methods: []grpc.MethodDesc{ 319 { 320 MethodName: "GetFeature", 321 Handler: _RouteGuide_GetFeature_Handler, 322 }, 323 }, 324 Streams: []grpc.StreamDesc{ 325 { 326 StreamName: "ListFeatures", 327 Handler: _RouteGuide_ListFeatures_Handler, 328 ServerStreams: true, 329 }, 330 { 331 StreamName: "RecordRoute", 332 Handler: _RouteGuide_RecordRoute_Handler, 333 ClientStreams: true, 334 }, 335 { 336 StreamName: "RouteChat", 337 Handler: _RouteGuide_RouteChat_Handler, 338 ServerStreams: true, 339 ClientStreams: true, 340 }, 341 }, 342 Metadata: "examples/route_guide/routeguide/route_guide.proto", 343} 344