public void Setup() { securityProvider = new Mock <ISecurityProvider>(); domain = Guid.NewGuid().ToString(); securityProvider.Setup(m => m.GetAllowedDomains()).Returns(new[] { domain }); securityProvider.Setup(m => m.GetDomain(It.IsAny <byte[]>())).Returns(domain); logger = new Mock <ILogger>(); routeDiscovery = new Mock <IRouteDiscovery>(); scaleOutAddress = new SocketEndpoint(new Uri("tcp://127.0.0.1:5000"), Guid.NewGuid().ToByteArray()); scaleOutConfigurationProvider = new Mock <IScaleOutConfigurationProvider>(); scaleOutConfigurationProvider.Setup(m => m.GetScaleOutAddress()).Returns(scaleOutAddress); autoDiscoverySender = new Mock <IAutoDiscoverySender>(); autoDiscoveryListener = new Mock <IAutoDiscoveryListener>(); heartBeatSenderConfigProvider = new Mock <IHeartBeatSenderConfigurationProvider>(); heartBeatUri = new Uri("tcp://127.0.0.1:890"); heartBeatSenderConfigProvider.Setup(m => m.GetHeartBeatAddress()).Returns(heartBeatUri); heartBeatInterval = TimeSpan.FromSeconds(5); heartBeatSenderConfigProvider.Setup(m => m.GetHeartBeatInterval()).Returns(heartBeatInterval); clusterMonitor = new ClusterMonitor(scaleOutConfigurationProvider.Object, autoDiscoverySender.Object, autoDiscoveryListener.Object, heartBeatSenderConfigProvider.Object, routeDiscovery.Object, securityProvider.Object, logger.Object); }
public ClusterMonitor Create(bool start = true) { if (_role == NodeRole.StandAlone) return CreateStandAlone(); var monitor = new ClusterMonitor(_role, _localAddress, _partnerAddress, state => { switch (state.Status) { case NodeStatus.Connecting: if (_whenConnecting != null) _whenConnecting(); break; case NodeStatus.Active: if (_whenActive != null) _whenActive(); break; case NodeStatus.Passive: if (_whenPassive != null) _whenPassive(); break; case NodeStatus.Stopped: if (_whenStopped != null) _whenStopped(); break; } }, _onClusterException, _confirmActivationFuncs, _partnerTimeout, _connectTimeout, _becomeActiveWhenPrimaryOnInitialConnectionTimeout); if (start) monitor.Start(); return monitor; }
public ClusterController(ClientConfiguration clientConfig, Func <IConnectionPool, IIOService> ioServiceFactory, Func <PoolConfiguration, IPEndPoint, IConnectionPool> connectionPoolFactory, Func <string, string, IConnectionPool, ITypeTranscoder, ISaslMechanism> saslFactory, IByteConverter converter, ITypeTranscoder transcoder) { _clientConfig = clientConfig; _ioServiceFactory = ioServiceFactory; _connectionPoolFactory = connectionPoolFactory; _saslFactory = saslFactory; Converter = converter; Transcoder = transcoder; Initialize(); if (clientConfig.EnableDeadServiceUriPing) { _clusterMonitor = new ClusterMonitor(this); _clusterMonitor.StartMonitoring(); } LastConfigCheckedTime = DateTime.Now; if (Configuration.EnableConfigHeartBeat) { _configMonitor = new ConfigMonitor(this); _configMonitor.StartMonitoring(); } _configThread = new Thread(ProcessConfig) { Name = "CT", IsBackground = true }; _configThread.Start(); }
public Feed() { string address = ConfigurationManager.AppSettings["GatewayServerAddress"]; _pushers = address.Split(';').Select(adr => new NetMqPusher(adr)).ToArray(); _worker = new TaskWorker(GenerateFeed); _clusterMonitor = CreateCluster(); }
public Feed() { string address = ConfigurationManager.AppSettings["GatewayServerAddress"]; _pushers = address.Split(';').Select(adr => new NetMqPusher(adr)).ToArray(); _worker = new TaskWorker(GenerateFeed); _clusterMonitor = CreateCluster(); }
public ClusterController(ClientConfiguration clientConfig, Func <IConnectionPool, IIOService> ioServiceFactory, Func <PoolConfiguration, IPEndPoint, IConnectionPool> connectionPoolFactory, Func <string, string, IIOService, ITypeTranscoder, ISaslMechanism> saslFactory, IByteConverter converter, ITypeTranscoder transcoder) { _clientConfig = clientConfig; _ioServiceFactory = ioServiceFactory; _connectionPoolFactory = connectionPoolFactory; _saslFactory = saslFactory; Converter = converter; Transcoder = transcoder; Initialize(); if (clientConfig.EnableDeadServiceUriPing) { _clusterMonitor = new ClusterMonitor(this); _clusterMonitor.StartMonitoring(); } }
public ClusterMonitorTests() { securityProvider = new Mock <ISecurityProvider>(); domain = Guid.NewGuid().ToString(); securityProvider.Setup(m => m.GetAllowedDomains()).Returns(new[] { domain }); securityProvider.Setup(m => m.GetDomain(It.IsAny <byte[]>())).Returns(domain); logger = new Mock <ILogger>(); routeDiscovery = new Mock <IRouteDiscovery>(); scaleOutAddress = new SocketEndpoint(new Uri("tcp://127.0.0.1:5000"), Guid.NewGuid().ToByteArray()); scaleOutConfigurationProvider = new Mock <IScaleOutConfigurationProvider>(); scaleOutConfigurationProvider.Setup(m => m.GetScaleOutAddress()).Returns(scaleOutAddress); autoDiscoverySender = new Mock <IAutoDiscoverySender>(); autoDiscoveryListener = new Mock <IAutoDiscoveryListener>(); heartBeatSenderConfigProvider = new Mock <IHeartBeatSenderConfigurationProvider>(); heartBeatUri = new Uri("tcp://127.0.0.1:890"); heartBeatSenderConfigProvider.Setup(m => m.GetHeartBeatAddress()).Returns(heartBeatUri); heartBeatInterval = TimeSpan.FromSeconds(5); heartBeatSenderConfigProvider.Setup(m => m.GetHeartBeatInterval()).Returns(heartBeatInterval); config = new ClusterMembershipConfiguration { RouteDiscovery = new RouteDiscoveryConfiguration { ClusterAutoDiscoveryStartDelay = TimeSpan.FromSeconds(1), ClusterAutoDiscoveryPeriod = TimeSpan.FromSeconds(2), ClusterAutoDiscoveryStartDelayMaxMultiplier = 2, MaxAutoDiscoverySenderQueueLength = 100 } }; clusterMonitor = new ClusterMonitor(scaleOutConfigurationProvider.Object, autoDiscoverySender.Object, autoDiscoveryListener.Object, heartBeatSenderConfigProvider.Object, routeDiscovery.Object, securityProvider.Object, config, logger.Object); }