aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/csharp/route_guide/RouteGuideClient
diff options
context:
space:
mode:
Diffstat (limited to 'examples/csharp/route_guide/RouteGuideClient')
-rw-r--r--examples/csharp/route_guide/RouteGuideClient/Program.cs241
-rw-r--r--examples/csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs54
-rw-r--r--examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj89
-rw-r--r--examples/csharp/route_guide/RouteGuideClient/packages.config8
4 files changed, 0 insertions, 392 deletions
diff --git a/examples/csharp/route_guide/RouteGuideClient/Program.cs b/examples/csharp/route_guide/RouteGuideClient/Program.cs
deleted file mode 100644
index 9ce0cbcad3..0000000000
--- a/examples/csharp/route_guide/RouteGuideClient/Program.cs
+++ /dev/null
@@ -1,241 +0,0 @@
-// Copyright 2015 gRPC authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-using Grpc.Core;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Routeguide
-{
- class Program
- {
- /// <summary>
- /// Sample client code that makes gRPC calls to the server.
- /// </summary>
- public class RouteGuideClient
- {
- readonly RouteGuide.RouteGuideClient client;
-
- public RouteGuideClient(RouteGuide.RouteGuideClient client)
- {
- this.client = client;
- }
-
- /// <summary>
- /// Blocking unary call example. Calls GetFeature and prints the response.
- /// </summary>
- public void GetFeature(int lat, int lon)
- {
- try
- {
- Log("*** GetFeature: lat={0} lon={1}", lat, lon);
-
- Point request = new Point { Latitude = lat, Longitude = lon };
-
- Feature feature = client.GetFeature(request);
- if (feature.Exists())
- {
- Log("Found feature called \"{0}\" at {1}, {2}",
- feature.Name, feature.Location.GetLatitude(), feature.Location.GetLongitude());
- }
- else
- {
- Log("Found no feature at {0}, {1}",
- feature.Location.GetLatitude(), feature.Location.GetLongitude());
- }
- }
- catch (RpcException e)
- {
- Log("RPC failed " + e);
- throw;
- }
- }
-
-
- /// <summary>
- /// Server-streaming example. Calls listFeatures with a rectangle of interest. Prints each response feature as it arrives.
- /// </summary>
- public async Task ListFeatures(int lowLat, int lowLon, int hiLat, int hiLon)
- {
- try
- {
- Log("*** ListFeatures: lowLat={0} lowLon={1} hiLat={2} hiLon={3}", lowLat, lowLon, hiLat,
- hiLon);
-
- Rectangle request = new Rectangle
- {
- Lo = new Point { Latitude = lowLat, Longitude = lowLon },
- Hi = new Point { Latitude = hiLat, Longitude = hiLon }
- };
-
- using (var call = client.ListFeatures(request))
- {
- var responseStream = call.ResponseStream;
- StringBuilder responseLog = new StringBuilder("Result: ");
-
- while (await responseStream.MoveNext())
- {
- Feature feature = responseStream.Current;
- responseLog.Append(feature.ToString());
- }
- Log(responseLog.ToString());
- }
- }
- catch (RpcException e)
- {
- Log("RPC failed " + e);
- throw;
- }
- }
-
- /// <summary>
- /// Client-streaming example. Sends numPoints randomly chosen points from features
- /// with a variable delay in between. Prints the statistics when they are sent from the server.
- /// </summary>
- public async Task RecordRoute(List<Feature> features, int numPoints)
- {
- try
- {
- Log("*** RecordRoute");
- using (var call = client.RecordRoute())
- {
- // Send numPoints points randomly selected from the features list.
- StringBuilder numMsg = new StringBuilder();
- Random rand = new Random();
- for (int i = 0; i < numPoints; ++i)
- {
- int index = rand.Next(features.Count);
- Point point = features[index].Location;
- Log("Visiting point {0}, {1}", point.GetLatitude(), point.GetLongitude());
-
- await call.RequestStream.WriteAsync(point);
-
- // A bit of delay before sending the next one.
- await Task.Delay(rand.Next(1000) + 500);
- }
- await call.RequestStream.CompleteAsync();
-
- RouteSummary summary = await call.ResponseAsync;
- Log("Finished trip with {0} points. Passed {1} features. "
- + "Travelled {2} meters. It took {3} seconds.", summary.PointCount,
- summary.FeatureCount, summary.Distance, summary.ElapsedTime);
-
- Log("Finished RecordRoute");
- }
- }
- catch (RpcException e)
- {
- Log("RPC failed", e);
- throw;
- }
- }
-
- /// <summary>
- /// Bi-directional streaming example. Send some chat messages, and print any
- /// chat messages that are sent from the server.
- /// </summary>
- public async Task RouteChat()
- {
- try
- {
- Log("*** RouteChat");
- var requests = new List<RouteNote>
- {
- NewNote("First message", 0, 0),
- NewNote("Second message", 0, 1),
- NewNote("Third message", 1, 0),
- NewNote("Fourth message", 0, 0)
- };
-
- using (var call = client.RouteChat())
- {
- var responseReaderTask = Task.Run(async () =>
- {
- while (await call.ResponseStream.MoveNext())
- {
- var note = call.ResponseStream.Current;
- Log("Got message \"{0}\" at {1}, {2}", note.Message,
- note.Location.Latitude, note.Location.Longitude);
- }
- });
-
- foreach (RouteNote request in requests)
- {
- Log("Sending message \"{0}\" at {1}, {2}", request.Message,
- request.Location.Latitude, request.Location.Longitude);
-
- await call.RequestStream.WriteAsync(request);
- }
- await call.RequestStream.CompleteAsync();
- await responseReaderTask;
-
- Log("Finished RouteChat");
- }
- }
- catch (RpcException e)
- {
- Log("RPC failed", e);
- throw;
- }
- }
-
- private void Log(string s, params object[] args)
- {
- Console.WriteLine(string.Format(s, args));
- }
-
- private void Log(string s)
- {
- Console.WriteLine(s);
- }
-
- private RouteNote NewNote(string message, int lat, int lon)
- {
- return new RouteNote
- {
- Message = message,
- Location = new Point { Latitude = lat, Longitude = lon }
- };
- }
- }
-
- static void Main(string[] args)
- {
- var channel = new Channel("127.0.0.1:50052", ChannelCredentials.Insecure);
- var client = new RouteGuideClient(new RouteGuide.RouteGuideClient(channel));
-
- // Looking for a valid feature
- client.GetFeature(409146138, -746188906);
-
- // Feature missing.
- client.GetFeature(0, 0);
-
- // Looking for features between 40, -75 and 42, -73.
- client.ListFeatures(400000000, -750000000, 420000000, -730000000).Wait();
-
- // Record a few randomly selected points from the features file.
- client.RecordRoute(RouteGuideUtil.ParseFeatures(RouteGuideUtil.DefaultFeaturesFile), 10).Wait();
-
- // Send and receive some notes.
- client.RouteChat().Wait();
-
- channel.ShutdownAsync().Wait();
- Console.WriteLine("Press any key to exit...");
- Console.ReadKey();
- }
- }
-}
diff --git a/examples/csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs b/examples/csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs
deleted file mode 100644
index 4ccdf701d3..0000000000
--- a/examples/csharp/route_guide/RouteGuideClient/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-#region Copyright notice and license
-
-// Copyright 2015 gRPC authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#endregion
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("RouteGuideClient")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("RouteGuideClient")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("914644eb-47cd-4a37-9fba-5e62dd432333")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj b/examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj
deleted file mode 100644
index 612f60cba5..0000000000
--- a/examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{D47BE663-4DE3-4206-B7A8-EA3FA066DADC}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>RouteGuideClient</RootNamespace>
- <AssemblyName>RouteGuideClient</AssemblyName>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <NuGetPackageImportStamp>
- </NuGetPackageImportStamp>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="Google.Protobuf, Version=3.5.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
- <HintPath>..\packages\Google.Protobuf.3.5.0\lib\net45\Google.Protobuf.dll</HintPath>
- <Private>True</Private>
- </Reference>
- <Reference Include="Grpc.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL">
- <HintPath>..\packages\Grpc.Core.1.8.0\lib\net45\Grpc.Core.dll</HintPath>
- <Private>True</Private>
- </Reference>
- <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
- </Reference>
- <Reference Include="System" />
- <Reference Include="System.Core" />
- <Reference Include="System.Interactive.Async, Version=3.0.1000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
- <HintPath>..\packages\System.Interactive.Async.3.1.1\lib\net45\System.Interactive.Async.dll</HintPath>
- <Private>True</Private>
- </Reference>
- <Reference Include="System.Xml.Linq" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="Microsoft.CSharp" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Program.cs" />
- <Compile Include="Properties\AssemblyInfo.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="packages.config" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\RouteGuide\RouteGuide.csproj">
- <Project>{49954d9c-5f17-4662-96b2-73be833dd81a}</Project>
- <Name>RouteGuide</Name>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <Import Project="..\packages\Grpc.Core.1.8.0\build\net45\Grpc.Core.targets" Condition="Exists('..\packages\Grpc.Core.1.8.0\build\net45\Grpc.Core.targets')" />
- <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
- <PropertyGroup>
- <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
- </PropertyGroup>
- <Error Condition="!Exists('..\packages\Grpc.Core.1.8.0\build\net45\Grpc.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Grpc.Core.1.8.0\build\net45\Grpc.Core.targets'))" />
- </Target>
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project> \ No newline at end of file
diff --git a/examples/csharp/route_guide/RouteGuideClient/packages.config b/examples/csharp/route_guide/RouteGuideClient/packages.config
deleted file mode 100644
index fe2c995f26..0000000000
--- a/examples/csharp/route_guide/RouteGuideClient/packages.config
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="Google.Protobuf" version="3.5.0" targetFramework="net45" />
- <package id="Grpc" version="1.8.0" targetFramework="net45" />
- <package id="Grpc.Core" version="1.8.0" targetFramework="net45" />
- <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
- <package id="System.Interactive.Async" version="3.1.1" targetFramework="net45" />
-</packages> \ No newline at end of file