Beispiel #1
0
        public GrpcTopologyConfiguration(IGrpcTopologyConfiguration topologyConfiguration)
        {
            _messageTopology = topologyConfiguration.Message;
            _sendTopology    = topologyConfiguration.Send;
            _publishTopology = topologyConfiguration.Publish;

            _consumeTopology = new GrpcConsumeTopology(topologyConfiguration.Message, _publishTopology);
        }
        public GrpcBusConfiguration(IGrpcTopologyConfiguration topologyConfiguration, Uri baseAddress)
            : base(topologyConfiguration)
        {
            HostConfiguration = new GrpcHostConfiguration(this, baseAddress, topologyConfiguration);

            Serialization.ClearDeserializers();
            Serialization.DefaultContentType = GrpcMessageSerializer.GrpcContentType;
            Serialization.AddDeserializer(GrpcMessageSerializer.GrpcContentType,
                                          () => new GrpcMessageDeserializer(GrpcMessageSerializer.Deserializer));
            Serialization.SetSerializer(() => new GrpcMessageSerializer());

            BusEndpointConfiguration = CreateEndpointConfiguration();

            _busObservers = new BusObservable();
        }
Beispiel #3
0
        public GrpcTransportProvider(IGrpcHostConfiguration hostConfiguration, IGrpcTopologyConfiguration topologyConfiguration)
        {
            _hostConfiguration     = hostConfiguration;
            _topologyConfiguration = topologyConfiguration;

            _messageFabric = new MessageFabric();

            _nodeCollection = new NodeCollection(this, _messageFabric);
            _clients        = new List <IGrpcClient>();

            var transport = new GrpcTransportService(this, _hostConfiguration, _nodeCollection);

            _server = new Server(GetChannelOptions())
            {
                Services = { TransportService.BindService(transport) },
                Ports    = { new ServerPort(hostConfiguration.BaseAddress.Host, hostConfiguration.BaseAddress.Port, ServerCredentials.Insecure) }
            };

            var serverPort = _server.Ports.First();

            HostAddress = new UriBuilder(_hostConfiguration.BaseAddress)
            {
                Host = serverPort.Host,
                Port = serverPort.BoundPort
            }.Uri;

            HostNodeContext = new HostNodeContext(HostAddress);

            _hostNode = new GrpcHostNode(_messageFabric, HostNodeContext);

            var observer = new NodeMessageFabricObserver(_nodeCollection, _hostNode);

            _messageFabric.ConnectMessageFabricObserver(observer);

            _startupTask = new Lazy <Task>(() => Task.Run(() => Startup()));
        }
        public GrpcHostConfiguration(IGrpcBusConfiguration busConfiguration, Uri baseAddress, IGrpcTopologyConfiguration topologyConfiguration)
            : base(busConfiguration)
        {
            _busConfiguration = busConfiguration;

            BaseAddress = baseAddress;

            _hostTopology = new GrpcHostTopology(this, topologyConfiguration);

            _serverConfigurations = new List <GrpcServerConfiguration>();

            ReceiveTransportRetryPolicy = Retry.CreatePolicy(x =>
            {
                x.Handle <ConnectionException>();
                x.Exponential(1000, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(3));
            });

            _transportProvider = new Recycle <IGrpcTransportProvider>(() => new GrpcTransportProvider(this, topologyConfiguration));
        }
 public GrpcHostTopology(IGrpcHostConfiguration hostConfiguration, IGrpcTopologyConfiguration configuration)
     : base(hostConfiguration, configuration)
 {
     _configuration = configuration;
 }
Beispiel #6
0
 GrpcEndpointConfiguration(IGrpcEndpointConfiguration parentConfiguration, IGrpcTopologyConfiguration topologyConfiguration)
     : base(parentConfiguration, topologyConfiguration)
 {
     _topologyConfiguration = topologyConfiguration;
 }
Beispiel #7
0
 protected GrpcEndpointConfiguration(IGrpcTopologyConfiguration topologyConfiguration)
     : base(topologyConfiguration)
 {
     _topologyConfiguration = topologyConfiguration;
 }