// Code generated by protoc-gen-go. // source: proto/route_guide.proto // DO NOT EDIT! /* Package proto is a generated protocol buffer package. It is generated from these files: proto/route_guide.proto It has these top-level messages: Point Rectangle Feature RouteNote RouteSummary */ package proto import proto1 "github.com/golang/protobuf/proto" import ( context "golang.org/x/net/context" grpc "google.golang.org/grpc" ) // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConn // Reference imports to suppress errors if they are not otherwise used. var _ = proto1.Marshal // Points are represented as latitude-longitude pairs in the E7 representation // (degrees multiplied by 10**7 and rounded to the nearest integer). // Latitudes should be in the range +/- 90 degrees and longitude should be in // the range +/- 180 degrees (inclusive). type Point struct { Latitude int32 `protobuf:"varint,1,opt,name=latitude" json:"latitude,omitempty"` Longitude int32 `protobuf:"varint,2,opt,name=longitude" json:"longitude,omitempty"` } func (m *Point) Reset() { *m = Point{} } func (m *Point) String() string { return proto1.CompactTextString(m) } func (*Point) ProtoMessage() {} // A latitude-longitude rectangle, represented as two diagonally opposite // points "lo" and "hi". type Rectangle struct { // One corner of the rectangle. Lo *Point `protobuf:"bytes,1,opt,name=lo" json:"lo,omitempty"` // The other corner of the rectangle. Hi *Point `protobuf:"bytes,2,opt,name=hi" json:"hi,omitempty"` } func (m *Rectangle) Reset() { *m = Rectangle{} } func (m *Rectangle) String() string { return proto1.CompactTextString(m) } func (*Rectangle) ProtoMessage() {} func (m *Rectangle) GetLo() *Point { if m != nil { return m.Lo } return nil } func (m *Rectangle) GetHi() *Point { if m != nil { return m.Hi } return nil } // A feature names something at a given point. // // If a feature could not be named, the name is empty. type Feature struct { // The name of the feature. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // The point where the feature is detected. Location *Point `protobuf:"bytes,2,opt,name=location" json:"location,omitempty"` } func (m *Feature) Reset() { *m = Feature{} } func (m *Feature) String() string { return proto1.CompactTextString(m) } func (*Feature) ProtoMessage() {} func (m *Feature) GetLocation() *Point { if m != nil { return m.Location } return nil } // A RouteNote is a message sent while at a given point. type RouteNote struct { // The location from which the message is sent. Location *Point `protobuf:"bytes,1,opt,name=location" json:"location,omitempty"` // The message to be sent. Message string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` } func (m *RouteNote) Reset() { *m = RouteNote{} } func (m *RouteNote) String() string { return proto1.CompactTextString(m) } func (*RouteNote) ProtoMessage() {} func (m *RouteNote) GetLocation() *Point { if m != nil { return m.Location } return nil } // A RouteSummary is received in response to a RecordRoute rpc. // // It contains the number of individual points received, the number of // detected features, and the total distance covered as the cumulative sum of // the distance between each point. type RouteSummary struct { // The number of points received. PointCount int32 `protobuf:"varint,1,opt,name=point_count" json:"point_count,omitempty"` // The number of known features passed while traversing the route. FeatureCount int32 `protobuf:"varint,2,opt,name=feature_count" json:"feature_count,omitempty"` // The distance covered in metres. Distance int32 `protobuf:"varint,3,opt,name=distance" json:"distance,omitempty"` // The duration of the traversal in seconds. ElapsedTime int32 `protobuf:"varint,4,opt,name=elapsed_time" json:"elapsed_time,omitempty"` } func (m *RouteSummary) Reset() { *m = RouteSummary{} } func (m *RouteSummary) String() string { return proto1.CompactTextString(m) } func (*RouteSummary) ProtoMessage() {} func init() { } // Client API for RouteGuide service type RouteGuideClient interface { // A simple RPC. // // Obtains the feature at a given position. GetFeature(ctx context.Context, in *Point, opts ...grpc.CallOption) (*Feature, error) // A server-to-client streaming RPC. // // Obtains the Features available within the given Rectangle. Results are // streamed rather than returned at once (e.g. in a response message with a // repeated field), as the rectangle may cover a large area and contain a // huge number of features. ListFeatures(ctx context.Context, in *Rectangle, opts ...grpc.CallOption) (RouteGuide_ListFeaturesClient, error) // A client-to-server streaming RPC. // // Accepts a stream of Points on a route being traversed, returning a // RouteSummary when traversal is completed. RecordRoute(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RecordRouteClient, error) // A Bidirectional streaming RPC. // // Accepts a stream of RouteNotes sent while a route is being traversed, // while receiving other RouteNotes (e.g. from other users). RouteChat(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RouteChatClient, error) } type routeGuideClient struct { cc *grpc.ClientConn } func NewRouteGuideClient(cc *grpc.ClientConn) RouteGuideClient { return &routeGuideClient{cc} } func (c *routeGuideClient) GetFeature(ctx context.Context, in *Point, opts ...grpc.CallOption) (*Feature, error) { out := new(Feature) err := grpc.Invoke(ctx, "/proto.RouteGuide/GetFeature", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *routeGuideClient) ListFeatures(ctx context.Context, in *Rectangle, opts ...grpc.CallOption) (RouteGuide_ListFeaturesClient, error) { stream, err := grpc.NewClientStream(ctx, &_RouteGuide_serviceDesc.Streams[0], c.cc, "/proto.RouteGuide/ListFeatures", opts...) if err != nil { return nil, err } x := &routeGuideListFeaturesClient{stream} if err := x.ClientStream.SendProto(in); err != nil { return nil, err } if err := x.ClientStream.CloseSend(); err != nil { return nil, err } return x, nil } type RouteGuide_ListFeaturesClient interface { Recv() (*Feature, error) grpc.ClientStream } type routeGuideListFeaturesClient struct { grpc.ClientStream } func (x *routeGuideListFeaturesClient) Recv() (*Feature, error) { m := new(Feature) if err := x.ClientStream.RecvProto(m); err != nil { return nil, err } return m, nil } func (c *routeGuideClient) RecordRoute(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RecordRouteClient, error) { stream, err := grpc.NewClientStream(ctx, &_RouteGuide_serviceDesc.Streams[1], c.cc, "/proto.RouteGuide/RecordRoute", opts...) if err != nil { return nil, err } x := &routeGuideRecordRouteClient{stream} return x, nil } type RouteGuide_RecordRouteClient interface { Send(*Point) error CloseAndRecv() (*RouteSummary, error) grpc.ClientStream } type routeGuideRecordRouteClient struct { grpc.ClientStream } func (x *routeGuideRecordRouteClient) Send(m *Point) error { return x.ClientStream.SendProto(m) } func (x *routeGuideRecordRouteClient) CloseAndRecv() (*RouteSummary, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(RouteSummary) if err := x.ClientStream.RecvProto(m); err != nil { return nil, err } return m, nil } func (c *routeGuideClient) RouteChat(ctx context.Context, opts ...grpc.CallOption) (RouteGuide_RouteChatClient, error) { stream, err := grpc.NewClientStream(ctx, &_RouteGuide_serviceDesc.Streams[2], c.cc, "/proto.RouteGuide/RouteChat", opts...) if err != nil { return nil, err } x := &routeGuideRouteChatClient{stream} return x, nil } type RouteGuide_RouteChatClient interface { Send(*RouteNote) error Recv() (*RouteNote, error) grpc.ClientStream } type routeGuideRouteChatClient struct { grpc.ClientStream } func (x *routeGuideRouteChatClient) Send(m *RouteNote) error { return x.ClientStream.SendProto(m) } func (x *routeGuideRouteChatClient) Recv() (*RouteNote, error) { m := new(RouteNote) if err := x.ClientStream.RecvProto(m); err != nil { return nil, err } return m, nil } // Server API for RouteGuide service type RouteGuideServer interface { // A simple RPC. // // Obtains the feature at a given position. GetFeature(context.Context, *Point) (*Feature, error) // A server-to-client streaming RPC. // // Obtains the Features available within the given Rectangle. Results are // streamed rather than returned at once (e.g. in a response message with a // repeated field), as the rectangle may cover a large area and contain a // huge number of features. ListFeatures(*Rectangle, RouteGuide_ListFeaturesServer) error // A client-to-server streaming RPC. // // Accepts a stream of Points on a route being traversed, returning a // RouteSummary when traversal is completed. RecordRoute(RouteGuide_RecordRouteServer) error // A Bidirectional streaming RPC. // // Accepts a stream of RouteNotes sent while a route is being traversed, // while receiving other RouteNotes (e.g. from other users). RouteChat(RouteGuide_RouteChatServer) error } func RegisterRouteGuideServer(s *grpc.Server, srv RouteGuideServer) { s.RegisterService(&_RouteGuide_serviceDesc, srv) } func _RouteGuide_GetFeature_Handler(srv interface{}, ctx context.Context, buf []byte) (proto1.Message, error) { in := new(Point) if err := proto1.Unmarshal(buf, in); err != nil { return nil, err } out, err := srv.(RouteGuideServer).GetFeature(ctx, in) if err != nil { return nil, err } return out, nil } func _RouteGuide_ListFeatures_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(Rectangle) if err := stream.RecvProto(m); err != nil { return err } return srv.(RouteGuideServer).ListFeatures(m, &routeGuideListFeaturesServer{stream}) } type RouteGuide_ListFeaturesServer interface { Send(*Feature) error grpc.ServerStream } type routeGuideListFeaturesServer struct { grpc.ServerStream } func (x *routeGuideListFeaturesServer) Send(m *Feature) error { return x.ServerStream.SendProto(m) } func _RouteGuide_RecordRoute_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RouteGuideServer).RecordRoute(&routeGuideRecordRouteServer{stream}) } type RouteGuide_RecordRouteServer interface { SendAndClose(*RouteSummary) error Recv() (*Point, error) grpc.ServerStream } type routeGuideRecordRouteServer struct { grpc.ServerStream } func (x *routeGuideRecordRouteServer) SendAndClose(m *RouteSummary) error { return x.ServerStream.SendProto(m) } func (x *routeGuideRecordRouteServer) Recv() (*Point, error) { m := new(Point) if err := x.ServerStream.RecvProto(m); err != nil { return nil, err } return m, nil } func _RouteGuide_RouteChat_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(RouteGuideServer).RouteChat(&routeGuideRouteChatServer{stream}) } type RouteGuide_RouteChatServer interface { Send(*RouteNote) error Recv() (*RouteNote, error) grpc.ServerStream } type routeGuideRouteChatServer struct { grpc.ServerStream } func (x *routeGuideRouteChatServer) Send(m *RouteNote) error { return x.ServerStream.SendProto(m) } func (x *routeGuideRouteChatServer) Recv() (*RouteNote, error) { m := new(RouteNote) if err := x.ServerStream.RecvProto(m); err != nil { return nil, err } return m, nil } var _RouteGuide_serviceDesc = grpc.ServiceDesc{ ServiceName: "proto.RouteGuide", HandlerType: (*RouteGuideServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetFeature", Handler: _RouteGuide_GetFeature_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "ListFeatures", Handler: _RouteGuide_ListFeatures_Handler, ServerStreams: true, }, { StreamName: "RecordRoute", Handler: _RouteGuide_RecordRoute_Handler, ClientStreams: true, }, { StreamName: "RouteChat", Handler: _RouteGuide_RouteChat_Handler, ServerStreams: true, ClientStreams: true, }, }, }