Example #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;
 }
Example #2
0
 public HeartBeatSender(ISocketFactory socketFactory,
                        IHeartBeatSenderConfigurationManager config,
                        IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                        ILogger logger)
 {
     this.socketFactory = socketFactory;
     this.config        = config;
     this.scaleOutConfigurationProvider = scaleOutConfigurationProvider;
     this.logger = logger;
 }
Example #3
0
 public RouteDiscovery(IAutoDiscoverySender autoDiscoverySender,
                       IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                       ClusterMembershipConfiguration clusterMembershipConfiguration,
                       ISecurityProvider securityProvider,
                       ILogger logger)
 {
     this.securityProvider              = securityProvider;
     discoveryConfiguration             = clusterMembershipConfiguration.RouteDiscovery;
     this.autoDiscoverySender           = autoDiscoverySender;
     this.scaleOutConfigurationProvider = scaleOutConfigurationProvider;
     this.logger = logger;
     requests    = new HashedQueue <MessageRoute>(discoveryConfiguration.MaxMissingRouteDiscoveryRequestQueueLength);
 }
Example #4
0
 public ClusterMonitor(IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                       IAutoDiscoverySender autoDiscoverySender,
                       IAutoDiscoveryListener autoDiscoveryListener,
                       IHeartBeatSenderConfigurationProvider heartBeatConfigurationProvider,
                       IRouteDiscovery routeDiscovery,
                       ISecurityProvider securityProvider,
                       ILogger logger)
 {
     this.scaleOutConfigurationProvider  = scaleOutConfigurationProvider;
     this.autoDiscoverySender            = autoDiscoverySender;
     this.autoDiscoveryListener          = autoDiscoveryListener;
     this.heartBeatConfigurationProvider = heartBeatConfigurationProvider;
     this.routeDiscovery   = routeDiscovery;
     this.securityProvider = securityProvider;
     this.logger           = logger;
 }
Example #5
0
 public AutoDiscoveryListener(IRendezvousCluster rendezvousCluster,
                              ISocketFactory socketFactory,
                              IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                              ClusterMembershipConfiguration membershipConfiguration,
                              IPerformanceCounterManager <KinoPerformanceCounters> performanceCounterManager,
                              ILocalSocket <IMessage> localRouterSocket,
                              ILogger logger)
 {
     this.logger = logger;
     this.membershipConfiguration       = membershipConfiguration;
     this.performanceCounterManager     = performanceCounterManager;
     this.localRouterSocket             = localRouterSocket;
     this.rendezvousCluster             = rendezvousCluster;
     this.socketFactory                 = socketFactory;
     this.scaleOutConfigurationProvider = scaleOutConfigurationProvider;
     heartBeatReceived          = new ManualResetEvent(false);
     newRendezvousConfiguration = new ManualResetEvent(false);
 }
Example #6
0
 public MessageHub(ICallbackHandlerStack callbackHandlers,
                   ILocalSocket <IMessage> localRouterSocket,
                   ILocalSendingSocket <InternalRouteRegistration> internalRegistrationsSender,
                   ILocalSocketFactory localSocketFactory,
                   IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                   ISecurityProvider securityProvider,
                   ILogger logger,
                   bool keepRegistrationLocal = false)
 {
     this.logger                        = logger;
     this.localRouterSocket             = localRouterSocket;
     this.internalRegistrationsSender   = internalRegistrationsSender;
     this.scaleOutConfigurationProvider = scaleOutConfigurationProvider;
     this.securityProvider              = securityProvider;
     this.keepRegistrationLocal         = keepRegistrationLocal;
     this.callbackHandlers              = callbackHandlers;
     registrationsQueue                 = new BlockingCollection <CallbackRegistration>(new ConcurrentQueue <CallbackRegistration>());
     receivingSocket                    = localSocketFactory.Create <IMessage>();
     ReceiverIdentifier                 = ReceiverIdentities.CreateForMessageHub();
 }
Example #7
0
 public ClusterMonitor(IScaleOutConfigurationProvider scaleOutConfigurationProvider,
                       IAutoDiscoverySender autoDiscoverySender,
                       IAutoDiscoveryListener autoDiscoveryListener,
                       IHeartBeatSenderConfigurationProvider heartBeatConfigurationProvider,
                       IRouteDiscovery routeDiscovery,
                       ISecurityProvider securityProvider,
                       ClusterMembershipConfiguration clusterMembershipConfiguration,
                       ILogger logger)
 {
     this.scaleOutConfigurationProvider  = scaleOutConfigurationProvider;
     this.autoDiscoverySender            = autoDiscoverySender;
     this.autoDiscoveryListener          = autoDiscoveryListener;
     this.heartBeatConfigurationProvider = heartBeatConfigurationProvider;
     this.routeDiscovery       = routeDiscovery;
     this.securityProvider     = securityProvider;
     routeDiscoveryConfig      = clusterMembershipConfiguration.RouteDiscovery;
     this.logger               = logger;
     randomizer                = new C5Random();
     clusterRoutesRequestTimer = new Timer(_ => RequestClusterRoutes(), null, TimeSpan.FromMilliseconds(-1), TimeSpan.FromMilliseconds(-1));
 }