@ -1,5 +1,35 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: route_guide.proto
// Original file comments:
// Copyright 2015, Google Inc.
// All rights reserved.
/ /
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
/ /
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
/ /
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/ /
#region Designer generated code
using System ;
@ -8,6 +38,9 @@ using System.Threading.Tasks;
using Grpc.Core ;
namespace Routeguide {
/// <summary>
/// Interface exported by the server.
/// </summary>
public static class RouteGuide
{
static readonly string _ _ ServiceName = "routeguide.RouteGuide" ;
@ -46,96 +79,339 @@ namespace Routeguide {
_ _ Marshaller_RouteNote ,
_ _ Marshaller_RouteNote ) ;
// service descriptor
/// <summary>Service descriptor</summary>
public static global :: Google . Protobuf . Reflection . ServiceDescriptor Descriptor
{
get { return global :: Routeguide . RouteGuideReflection . Descriptor . Services [ 0 ] ; }
}
// client interface
/// <summary>Client for RouteGuide</summary>
[System.Obsolete("Client side interfaced will be removed in the next release. Use client class directly.")]
public interface IRouteGuideClient
{
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
global :: Routeguide . Feature GetFeature ( global :: Routeguide . Point request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) ) ;
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
global :: Routeguide . Feature GetFeature ( global :: Routeguide . Point request , CallOptions options ) ;
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
AsyncUnaryCall < global :: Routeguide . Feature > GetFeatureAsync ( global :: Routeguide . Point request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) ) ;
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
AsyncUnaryCall < global :: Routeguide . Feature > GetFeatureAsync ( global :: Routeguide . Point request , CallOptions options ) ;
/// <summary>
/// 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.
/// </summary>
AsyncServerStreamingCall < global :: Routeguide . Feature > ListFeatures ( global :: Routeguide . Rectangle request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) ) ;
/// <summary>
/// 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.
/// </summary>
AsyncServerStreamingCall < global :: Routeguide . Feature > ListFeatures ( global :: Routeguide . Rectangle request , CallOptions options ) ;
/// <summary>
/// A client-to-server streaming RPC.
///
/// Accepts a stream of Points on a route being traversed, returning a
/// RouteSummary when traversal is completed.
/// </summary>
AsyncClientStreamingCall < global :: Routeguide . Point , global :: Routeguide . RouteSummary > RecordRoute ( Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) ) ;
/// <summary>
/// A client-to-server streaming RPC.
///
/// Accepts a stream of Points on a route being traversed, returning a
/// RouteSummary when traversal is completed.
/// </summary>
AsyncClientStreamingCall < global :: Routeguide . Point , global :: Routeguide . RouteSummary > RecordRoute ( CallOptions options ) ;
/// <summary>
/// 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).
/// </summary>
AsyncDuplexStreamingCall < global :: Routeguide . RouteNote , global :: Routeguide . RouteNote > RouteChat ( Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) ) ;
/// <summary>
/// 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).
/// </summary>
AsyncDuplexStreamingCall < global :: Routeguide . RouteNote , global :: Routeguide . RouteNote > RouteChat ( CallOptions options ) ;
}
// server-side interface
/// <summary>Interface of server-side implementations of RouteGuide</summary>
[System.Obsolete("Service implementations should inherit from the generated abstract base class instead.")]
public interface IRouteGuide
{
Task < global :: Routeguide . Feature > GetFeature ( global :: Routeguide . Point request , ServerCallContext context ) ;
Task ListFeatures ( global :: Routeguide . Rectangle request , IServerStreamWriter < global :: Routeguide . Feature > responseStream , ServerCallContext context ) ;
Task < global :: Routeguide . RouteSummary > RecordRoute ( IAsyncStreamReader < global :: Routeguide . Point > requestStream , ServerCallContext context ) ;
Task RouteChat ( IAsyncStreamReader < global :: Routeguide . RouteNote > requestStream , IServerStreamWriter < global :: Routeguide . RouteNote > responseStream , ServerCallContext context ) ;
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
global :: System . Threading . Tasks . Task < global :: Routeguide . Feature > GetFeature ( global :: Routeguide . Point request , ServerCallContext context ) ;
/// <summary>
/// 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.
/// </summary>
global :: System . Threading . Tasks . Task ListFeatures ( global :: Routeguide . Rectangle request , IServerStreamWriter < global :: Routeguide . Feature > responseStream , ServerCallContext context ) ;
/// <summary>
/// A client-to-server streaming RPC.
///
/// Accepts a stream of Points on a route being traversed, returning a
/// RouteSummary when traversal is completed.
/// </summary>
global :: System . Threading . Tasks . Task < global :: Routeguide . RouteSummary > RecordRoute ( IAsyncStreamReader < global :: Routeguide . Point > requestStream , ServerCallContext context ) ;
/// <summary>
/// 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).
/// </summary>
global :: System . Threading . Tasks . Task RouteChat ( IAsyncStreamReader < global :: Routeguide . RouteNote > requestStream , IServerStreamWriter < global :: Routeguide . RouteNote > responseStream , ServerCallContext context ) ;
}
// client stub
public class RouteGuideClient : ClientBase , IRouteGuideClient
/// <summary>Base class for server-side implementations of RouteGuide</summary>
public abstract class RouteGuideBase
{
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
public virtual global :: System . Threading . Tasks . Task < global :: Routeguide . Feature > GetFeature ( global :: Routeguide . Point request , ServerCallContext context )
{
throw new RpcException ( new Status ( StatusCode . Unimplemented , "" ) ) ;
}
/// <summary>
/// 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.
/// </summary>
public virtual global :: System . Threading . Tasks . Task ListFeatures ( global :: Routeguide . Rectangle request , IServerStreamWriter < global :: Routeguide . Feature > responseStream , ServerCallContext context )
{
throw new RpcException ( new Status ( StatusCode . Unimplemented , "" ) ) ;
}
/// <summary>
/// A client-to-server streaming RPC.
///
/// Accepts a stream of Points on a route being traversed, returning a
/// RouteSummary when traversal is completed.
/// </summary>
public virtual global :: System . Threading . Tasks . Task < global :: Routeguide . RouteSummary > RecordRoute ( IAsyncStreamReader < global :: Routeguide . Point > requestStream , ServerCallContext context )
{
throw new RpcException ( new Status ( StatusCode . Unimplemented , "" ) ) ;
}
/// <summary>
/// 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).
/// </summary>
public virtual global :: System . Threading . Tasks . Task RouteChat ( IAsyncStreamReader < global :: Routeguide . RouteNote > requestStream , IServerStreamWriter < global :: Routeguide . RouteNote > responseStream , ServerCallContext context )
{
throw new RpcException ( new Status ( StatusCode . Unimplemented , "" ) ) ;
}
}
/// <summary>Client for RouteGuide</summary>
#pragma warning disable 0618
public class RouteGuideClient : ClientBase < RouteGuideClient > , IRouteGuideClient
#pragma warning restore 0618
{
public RouteGuideClient ( Channel channel ) : base ( channel )
{
}
public global :: Routeguide . Feature GetFeature ( global :: Routeguide . Point request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
public RouteGuideClient ( CallInvoker callInvoker ) : base ( callInvoker )
{
}
///<summary>Protected parameterless constructor to allow creation of test doubles.</summary>
protected RouteGuideClient ( ) : base ( )
{
}
///<summary>Protected constructor to allow creation of configured clients.</summary>
protected RouteGuideClient ( ClientBaseConfiguration configuration ) : base ( configuration )
{
var call = CreateCall ( _ _ Method_GetFeature , new CallOptions ( headers , deadline , cancellationToken ) ) ;
return Calls . BlockingUnaryCall ( call , request ) ;
}
public global :: Routeguide . Feature GetFeature ( global :: Routeguide . Point request , CallOptions options )
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
public virtual global :: Routeguide . Feature GetFeature ( global :: Routeguide . Point request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
{
var call = CreateCall ( _ _ Method_GetFeature , options ) ;
return Calls . BlockingUnaryCall ( call , request ) ;
return GetFeature ( request , new CallOptions ( headers , deadline , cancellationToken ) ) ;
}
public AsyncUnaryCall < global :: Routeguide . Feature > GetFeatureAsync ( global :: Routeguide . Point request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
public virtual global :: Routeguide . Feature GetFeature ( global :: Routeguide . Point request , CallOptions options )
{
var call = CreateCall ( _ _ Method_GetFeature , new CallOptions ( headers , deadline , cancellationToken ) ) ;
return Calls . AsyncUnaryCall ( call , request ) ;
return CallInvoker . BlockingUnaryCall ( _ _ Method_GetFeature , null , options , request ) ;
}
public AsyncUnaryCall < global :: Routeguide . Feature > GetFeatureAsync ( global :: Routeguide . Point request , CallOptions options )
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
public virtual AsyncUnaryCall < global :: Routeguide . Feature > GetFeatureAsync ( global :: Routeguide . Point request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
{
var call = CreateCall ( _ _ Method_GetFeature , options ) ;
return Calls . AsyncUnaryCall ( call , request ) ;
return GetFeatureAsync ( request , new CallOptions ( headers , deadline , cancellationToken ) ) ;
}
public AsyncServerStreamingCall < global :: Routeguide . Feature > ListFeatures ( global :: Routeguide . Rectangle request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
/// <summary>
/// A simple RPC.
///
/// Obtains the feature at a given position.
///
/// A feature with an empty name is returned if there's no feature at the given
/// position.
/// </summary>
public virtual AsyncUnaryCall < global :: Routeguide . Feature > GetFeatureAsync ( global :: Routeguide . Point request , CallOptions options )
{
var call = CreateCall ( _ _ Method_ListFeatures , new CallOptions ( headers , deadline , cancellationToken ) ) ;
return Calls . AsyncServerStreamingCall ( call , request ) ;
return CallInvoker . AsyncUnaryCall ( _ _ Method_GetFeature , null , options , request ) ;
}
public AsyncServerStreamingCall < global :: Routeguide . Feature > ListFeatures ( global :: Routeguide . Rectangle request , CallOptions options )
/// <summary>
/// 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.
/// </summary>
public virtual AsyncServerStreamingCall < global :: Routeguide . Feature > ListFeatures ( global :: Routeguide . Rectangle request , Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
{
var call = CreateCall ( _ _ Method_ListFeatures , options ) ;
return Calls . AsyncServerStreamingCall ( call , request ) ;
return ListFeatures ( request , new CallOptions ( headers , deadline , cancellationToken ) ) ;
}
public AsyncClientStreamingCall < global :: Routeguide . Point , global :: Routeguide . RouteSummary > RecordRoute ( Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
/// <summary>
/// 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.
/// </summary>
public virtual AsyncServerStreamingCall < global :: Routeguide . Feature > ListFeatures ( global :: Routeguide . Rectangle request , CallOptions options )
{
var call = CreateCall ( _ _ Method_RecordRoute , new CallOptions ( headers , deadline , cancellationToken ) ) ;
return Calls . AsyncClientStreamingCall ( call ) ;
return CallInvoker . AsyncServerStreamingCall ( _ _ Method_ListFeatures , null , options , request ) ;
}
public AsyncClientStreamingCall < global :: Routeguide . Point , global :: Routeguide . RouteSummary > RecordRoute ( CallOptions options )
/// <summary>
/// A client-to-server streaming RPC.
///
/// Accepts a stream of Points on a route being traversed, returning a
/// RouteSummary when traversal is completed.
/// </summary>
public virtual AsyncClientStreamingCall < global :: Routeguide . Point , global :: Routeguide . RouteSummary > RecordRoute ( Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
{
var call = CreateCall ( _ _ Method_RecordRoute , options ) ;
return Calls . AsyncClientStreamingCall ( call ) ;
return RecordRoute ( new CallOptions ( headers , deadline , cancellationToken ) ) ;
}
public AsyncDuplexStreamingCall < global :: Routeguide . RouteNote , global :: Routeguide . RouteNote > RouteChat ( Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
/// <summary>
/// A client-to-server streaming RPC.
///
/// Accepts a stream of Points on a route being traversed, returning a
/// RouteSummary when traversal is completed.
/// </summary>
public virtual AsyncClientStreamingCall < global :: Routeguide . Point , global :: Routeguide . RouteSummary > RecordRoute ( CallOptions options )
{
var call = CreateCall ( _ _ Method_RouteChat , new CallOptions ( headers , deadline , cancellationToken ) ) ;
return Calls . AsyncDuplexStreamingCall ( call ) ;
return CallInvoker . AsyncClientStreamingCall ( _ _ Method_RecordRoute , null , options ) ;
}
public AsyncDuplexStreamingCall < global :: Routeguide . RouteNote , global :: Routeguide . RouteNote > RouteChat ( CallOptions options )
/// <summary>
/// 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).
/// </summary>
public virtual AsyncDuplexStreamingCall < global :: Routeguide . RouteNote , global :: Routeguide . RouteNote > RouteChat ( Metadata headers = null , DateTime ? deadline = null , CancellationToken cancellationToken = default ( CancellationToken ) )
{
var call = CreateCall ( _ _ Method_RouteChat , options ) ;
return Calls . AsyncDuplexStreamingCall ( call ) ;
return RouteChat ( new CallOptions ( headers , deadline , cancellationToken ) ) ;
}
/// <summary>
/// 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).
/// </summary>
public virtual AsyncDuplexStreamingCall < global :: Routeguide . RouteNote , global :: Routeguide . RouteNote > RouteChat ( CallOptions options )
{
return CallInvoker . AsyncDuplexStreamingCall ( _ _ Method_RouteChat , null , options ) ;
}
protected override RouteGuideClient NewInstance ( ClientBaseConfiguration configuration )
{
return new RouteGuideClient ( configuration ) ;
}
}
/// <summary>Creates a new client for RouteGuide</summary>
public static RouteGuideClient NewClient ( Channel channel )
{
return new RouteGuideClient ( channel ) ;
}
// creates service definition that can be registered with a server
/// <summary>Creates service definition that can be registered with a server</summary>
#pragma warning disable 0618
public static ServerServiceDefinition BindService ( IRouteGuide serviceImpl )
#pragma warning restore 0618
{
return ServerServiceDefinition . CreateBuilder ( _ _ ServiceName )
. AddMethod ( _ _ Method_GetFeature , serviceImpl . GetFeature )
@ -144,10 +420,16 @@ namespace Routeguide {
. AddMethod ( _ _ Method_RouteChat , serviceImpl . RouteChat ) . Build ( ) ;
}
// creates a new client
public static RouteGuideClient NewClient ( Channel channel )
/// <summary>Creates service definition that can be registered with a server</summary>
#pragma warning disable 0618
public static ServerServiceDefinition BindService ( RouteGuideBase serviceImpl )
#pragma warning restore 0618
{
return new RouteGuideClient ( channel ) ;
return ServerServiceDefinition . CreateBuilder ( _ _ ServiceName )
. AddMethod ( _ _ Method_GetFeature , serviceImpl . GetFeature )
. AddMethod ( _ _ Method_ListFeatures , serviceImpl . ListFeatures )
. AddMethod ( _ _ Method_RecordRoute , serviceImpl . RecordRoute )
. AddMethod ( _ _ Method_RouteChat , serviceImpl . RouteChat ) . Build ( ) ;
}
}