blob: 6e974a08710cd64e8dd7870a06d45d05c9f6cd74 [file] [log] [blame]
Jan Tattermusch4c64d462015-04-06 11:16:28 -07001#region Copyright notice and license
2// Copyright 2015, Google Inc.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are
7// met:
8//
9// * Redistributions of source code must retain the above copyright
10// notice, this list of conditions and the following disclaimer.
11// * Redistributions in binary form must reproduce the above
12// copyright notice, this list of conditions and the following disclaimer
13// in the documentation and/or other materials provided with the
14// distribution.
15// * Neither the name of Google Inc. nor the names of its
16// contributors may be used to endorse or promote products derived from
17// this software without specific prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30#endregion
31
32using System;
33using System.Runtime.InteropServices;
34using System.Threading;
35using Grpc.Core;
36
Jan Tattermusch8644aea2015-08-03 10:21:18 -070037namespace Math
Jan Tattermusch4c64d462015-04-06 11:16:28 -070038{
39 class MainClass
40 {
Jan Tattermusch31ba0632015-08-04 22:02:55 -070041 const string Host = "0.0.0.0";
42 const int Port = 23456;
43
Jan Tattermusch4c64d462015-04-06 11:16:28 -070044 public static void Main(string[] args)
45 {
Jan Tattermusch31ba0632015-08-04 22:02:55 -070046 Server server = new Server
Jan Tattermusch021df8a2015-08-04 20:31:11 -070047 {
48 Services = { Math.BindService(new MathServiceImpl()) },
Jan Tattermusch31ba0632015-08-04 22:02:55 -070049 Ports = { { Host, Port, ServerCredentials.Insecure } }
Jan Tattermusch021df8a2015-08-04 20:31:11 -070050 };
Jan Tattermusch4c64d462015-04-06 11:16:28 -070051 server.Start();
52
Jan Tattermusch31ba0632015-08-04 22:02:55 -070053 Console.WriteLine("MathServer listening on port " + Port);
Jan Tattermusch4c64d462015-04-06 11:16:28 -070054
55 Console.WriteLine("Press any key to stop the server...");
56 Console.ReadKey();
57
58 server.ShutdownAsync().Wait();
Jan Tattermusch4c64d462015-04-06 11:16:28 -070059 }
60 }
61}