Beispiel #1
0
        /// <inheritdoc/>
        public void Start(EndpointVisibility type, EndpointConfiguration configuration, IEnumerable <Service> services)
        {
            try
            {
                var keepAliveTime         = new grpc.ChannelOption("grpc.keepalive_time", 1000);
                var keepAliveTimeout      = new grpc.ChannelOption("grpc.keepalive_timeout_ms", 500);
                var keepAliveWithoutCalls = new grpc.ChannelOption("grpc.keepalive_permit_without_calls", 1);
                _server = new grpc::Server(new[] {
                    keepAliveTime,
                    keepAliveTimeout,
                    keepAliveWithoutCalls
                })
                {
                    Ports =
                    {
                        new grpc.ServerPort("0.0.0.0", configuration.Port, grpc::SslServerCredentials.Insecure)
                    }
                };

                _server
                .Ports
                .ForEach(_ =>
                         _logger.Information($"Starting {type} host on {_.Host}" + (_.Port > 0 ? $" for port {_.Port}" : string.Empty)));

                services.ForEach(_ => _server.Services.Add(_.ServerDefinition));

                _server.Start();
            }
            catch (Exception ex)
            {
                _logger.Error(ex, $"Couldn't start {type} host");
            }
        }
Beispiel #2
0
 public void Constructor_RejectsDuplicateOptions()
 {
     var options = new ChannelOption[]
     {
         new ChannelOption(ChannelOptions.PrimaryUserAgentString, "ABC"),
         new ChannelOption(ChannelOptions.PrimaryUserAgentString, "XYZ")
     };
     Assert.Throws(typeof(ArgumentException), () => new Channel("127.0.0.1", ChannelCredentials.Insecure, options));
 }
Beispiel #3
0
        public void StringOption()
        {
            var option = new ChannelOption("somename", "ABCDEF");

            Assert.AreEqual(ChannelOption.OptionType.String, option.Type);
            Assert.AreEqual("somename", option.Name);
            Assert.AreEqual("ABCDEF", option.StringValue);
            Assert.Throws(typeof(InvalidOperationException), () => { var s = option.IntValue; });
        }