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; }
public HeartBeatSender(ISocketFactory socketFactory, IHeartBeatSenderConfigurationManager config, IScaleOutConfigurationProvider scaleOutConfigurationProvider, ILogger logger) { this.socketFactory = socketFactory; this.config = config; this.scaleOutConfigurationProvider = scaleOutConfigurationProvider; this.logger = logger; }
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); }
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; }
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); }
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(); }
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)); }