Ejemplo n.º 1
0
 public MessageRouter(ISocketFactory socketFactory,
                      IInternalRoutingTable internalRoutingTable,
                      IExternalRoutingTable externalRoutingTable,
                      IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                      IClusterServices clusterServices,
                      IServiceMessageHandlerRegistry serviceMessageHandlerRegistry,
                      IPerformanceCounterManager <KinoPerformanceCounters> performanceCounterManager,
                      ISecurityProvider securityProvider,
                      ILocalSocket <IMessage> localRouterSocket,
                      ILocalReceivingSocket <InternalRouteRegistration> internalRegistrationsReceiver,
                      IInternalMessageRouteRegistrationHandler internalRegistrationHandler,
                      IRoundRobinDestinationList roundRobinDestinationList,
                      ILogger logger)
 {
     this.logger                        = logger;
     this.socketFactory                 = socketFactory;
     this.internalRoutingTable          = internalRoutingTable;
     this.externalRoutingTable          = externalRoutingTable;
     this.scaleOutConfigurationProvider = scaleOutConfigurationProvider;
     this.clusterServices               = clusterServices;
     this.serviceMessageHandlerRegistry = serviceMessageHandlerRegistry;
     this.performanceCounterManager     = performanceCounterManager;
     this.securityProvider              = securityProvider;
     this.localRouterSocket             = localRouterSocket;
     this.localRouterSocket.SendRate    = performanceCounterManager.GetCounter(KinoPerformanceCounters.MessageRouterLocalSocketSendRate);
     this.localRouterSocket.ReceiveRate = performanceCounterManager.GetCounter(KinoPerformanceCounters.MessageRouterLocalSocketReceiveRate);
     this.internalRegistrationsReceiver = internalRegistrationsReceiver;
     this.internalRegistrationHandler   = internalRegistrationHandler;
     this.roundRobinDestinationList     = roundRobinDestinationList;
 }
Ejemplo n.º 2
0
 public KnownMessageRoutesActor(IExternalRoutingTable externalRoutingTable,
                                IInternalRoutingTable internalRoutingTable,
                                RouterConfiguration routerConfiguration)
 {
     this.externalRoutingTable = externalRoutingTable;
     this.internalRoutingTable = internalRoutingTable;
     this.routerConfiguration = routerConfiguration;
 }
Ejemplo n.º 3
0
 public NodeRoutesRegistrar(IClusterServices clusterServices,
                            IInternalRoutingTable internalRoutingTable,
                            ISecurityProvider securityProvider)
 {
     this.clusterServices      = clusterServices;
     this.internalRoutingTable = internalRoutingTable;
     this.securityProvider     = securityProvider;
 }
 public InternalMessageRouteRegistrationHandler(IClusterMonitor clusterMonitor,
                                                IInternalRoutingTable internalRoutingTable,
                                                ISecurityProvider securityProvider)
 {
     this.clusterMonitor       = clusterMonitor;
     this.internalRoutingTable = internalRoutingTable;
     this.securityProvider     = securityProvider;
 }
Ejemplo n.º 5
0
 public MessageRouteDiscoveryHandler(IClusterMonitor clusterMonitor,
                                     IInternalRoutingTable internalRoutingTable,
                                     ISecurityProvider securityProvider,
                                     ILogger logger)
 {
     this.clusterMonitor       = clusterMonitor;
     this.internalRoutingTable = internalRoutingTable;
     this.securityProvider     = securityProvider;
     this.logger = logger;
 }
Ejemplo n.º 6
0
 private MessageRouter CreateMessageRouter(IInternalRoutingTable internalRoutingTable = null,
                                           IExternalRoutingTable externalRoutingTable = null)
 => new MessageRouter(socketFactory.Object,
                      internalRoutingTable ?? new InternalRoutingTable(),
                      externalRoutingTable ?? new ExternalRoutingTable(logger.Object),
                      scaleOutConfigurationProvider.Object,
                      clusterServices.Object,
                      serviceMessageHandlerRegistry.Object,
                      perfCounterManager.Object,
                      securityProvider.Object,
                      localRouterSocket.Object,
                      internalRegistrationsReceiver.Object,
                      internalRegistrationHandler.Object,
                      logger.Object);
Ejemplo n.º 7
0
 public MessageRouter(ISocketFactory socketFactory,
                      IInternalRoutingTable internalRoutingTable,
                      IExternalRoutingTable externalRoutingTable,
                      RouterConfiguration routerConfiguration,
                      IClusterMonitor clusterMonitor,
                      IMessageTracer messageTracer,
                      ILogger logger)
 {
     this.logger = logger;
     this.messageTracer = messageTracer;
     this.socketFactory = socketFactory;
     localSocketIdentityPromise = new TaskCompletionSource<byte[]>();
     this.internalRoutingTable = internalRoutingTable;
     this.externalRoutingTable = externalRoutingTable;
     this.clusterMonitor = clusterMonitor;
     this.routerConfiguration = routerConfiguration;
     cancellationTokenSource = new CancellationTokenSource();
 }
Ejemplo n.º 8
0
        private IEnumerable <IServiceMessageHandler> CreateServiceMessageHandlers(IClusterConnectivity clusterConnectivity,
                                                                                  IExternalRoutingTable externalRoutingTable,
                                                                                  IInternalRoutingTable internalRoutingTable,
                                                                                  ISecurityProvider securityProvider)
        {
            yield return(new UnreachableNodeUnregistrationHandler(clusterConnectivity, externalRoutingTable));

            yield return(new ClusterMessageRoutesRequestHandler(clusterConnectivity, internalRoutingTable, securityProvider));

            yield return(new ExternalMessageRouteRegistrationHandler(externalRoutingTable, securityProvider, clusterConnectivity, logger));

            yield return(new MessageRouteDiscoveryHandler(clusterConnectivity, internalRoutingTable, securityProvider, logger));

            yield return(new MessageRouteUnregistrationHandler(clusterConnectivity, externalRoutingTable, securityProvider, logger));

            yield return(new NodeUnregistrationHandler(clusterConnectivity, externalRoutingTable, securityProvider));

            yield return(new NodeMessageRoutesRequestHandler(clusterConnectivity, internalRoutingTable, securityProvider));

            yield return(new PingHandler());
        }
Ejemplo n.º 9
0
 public MessageRoutesActor(IExternalRoutingTable externalRoutingTable,
                           IInternalRoutingTable internalRoutingTable)
 {
     this.externalRoutingTable = externalRoutingTable;
     this.internalRoutingTable = internalRoutingTable;
 }