// methods public ICluster BuildCluster() { IStreamFactory streamFactory = new TcpStreamFactory(_tcpStreamSettings); if (_sslStreamSettings != null) { streamFactory = new SslStreamFactory(_sslStreamSettings, streamFactory); } streamFactory = _streamFactoryWrapper(streamFactory); var connectionFactory = new BinaryConnectionFactory( _connectionSettings, streamFactory, _connectionListener); var connectionPoolFactory = new ExclusiveConnectionPoolFactory( _connectionPoolSettings, connectionFactory, _connectionPoolListener); var serverFactory = new ServerFactory( _serverSettings, connectionPoolFactory, connectionFactory, _serverListener); var clusterFactory = new ClusterFactory( _clusterSettings, serverFactory, _clusterListener); return(clusterFactory.CreateCluster()); }
// methods public ICluster BuildCluster() { IStreamFactory streamFactory = new TcpStreamFactory(_tcpStreamSettings); // TODO: SSL gets handled here specifically... streamFactory = _streamFactoryWrapper(streamFactory); var connectionFactory = new BinaryConnectionFactory( _connectionSettings, streamFactory, _connectionListener); var connectionPoolFactory = new ExclusiveConnectionPoolFactory( _connectionPoolSettings, connectionFactory, _connectionPoolListener); var serverFactory = new ServerFactory( _serverSettings, connectionPoolFactory, connectionFactory, _serverListener); var clusterFactory = new ClusterFactory( _clusterSettings, serverFactory, _clusterListener); return(clusterFactory.CreateCluster()); }
public ServerInst(IPAddress ipAddress, int port) { if (ipAddress == null) { throw new ArgumentNullException(nameof(ipAddress)); } listener = new TcpListener(ipAddress, port); ConnectionFactory = new BinaryConnectionFactory(); }
public ServerInst(IPEndPoint endPoint) { if (endPoint == null) { throw new ArgumentNullException(nameof(endPoint)); } listener = new TcpListener(endPoint); ConnectionFactory = new BinaryConnectionFactory(); }
private IConnectionPoolFactory CreateConnectionPoolFactory() { var streamFactory = CreateTcpStreamFactory(_tcpStreamSettings); var connectionFactory = new BinaryConnectionFactory( _connectionSettings, streamFactory, _eventAggregator); return(new ExclusiveConnectionPoolFactory( _connectionPoolSettings, connectionFactory, _eventAggregator)); }
private IConnectionPoolFactory CreateConnectionPoolFactory() { var streamFactory = CreateTcpStreamFactory(_tcpStreamSettings); var connectionFactory = new BinaryConnectionFactory( _connectionSettings, streamFactory, _eventAggregator, _clusterSettings.ServerApi); var connectionPoolSettings = _connectionPoolSettings.WithInternal(isPausable: !_connectionSettings.LoadBalanced); return(new ExclusiveConnectionPoolFactory( connectionPoolSettings, connectionFactory, _eventAggregator)); }
// methods /// <summary> /// Builds the cluster. /// </summary> /// <returns>A cluster.</returns> public ICluster BuildCluster() { IStreamFactory streamFactory = new TcpStreamFactory(_tcpStreamSettings); if (_sslStreamSettings != null) { streamFactory = new SslStreamFactory(_sslStreamSettings, streamFactory); } streamFactory = _streamFactoryWrapper(streamFactory); var connectionFactory = new BinaryConnectionFactory( _connectionSettings, streamFactory, _eventAggregator); var connectionPoolFactory = new ExclusiveConnectionPoolFactory( _connectionPoolSettings, connectionFactory, _eventAggregator); var serverMonitorConnectionSettings = _connectionSettings.With(authenticators: new IAuthenticator[] { }); var serverMonitorConnectionFactory = new BinaryConnectionFactory( serverMonitorConnectionSettings, streamFactory, new EventAggregator()); var serverMonitorFactory = new ServerMonitorFactory( _serverSettings, serverMonitorConnectionFactory, _eventAggregator); var serverFactory = new ServerFactory( _clusterSettings.ConnectionMode, _serverSettings, connectionPoolFactory, serverMonitorFactory, _eventAggregator); var clusterFactory = new ClusterFactory( _clusterSettings, serverFactory, _eventAggregator); return(clusterFactory.CreateCluster()); }
// methods private ICluster CreateCluster(ClusterKey clusterKey) { var clusterSettings = CreateClusterSettings(clusterKey); var serverSettings = CreateServerSettings(clusterKey); var connectionSettings = CreateConnectionSettings(clusterKey); var connectionPoolSettings = CreateConnectionPoolSettings(clusterKey); var listener = EmptyListener.Instance; var streamFactory = CreateStreamFactory(clusterKey); var connectionFactory = new BinaryConnectionFactory(connectionSettings, streamFactory, listener); var connectionPoolFactory = new ExclusiveConnectionPoolFactory(connectionPoolSettings, connectionFactory, listener); var serverFactory = new ServerFactory(serverSettings, connectionPoolFactory, connectionFactory, listener); var clusterFactory = new ClusterFactory(clusterSettings, serverFactory, listener); var cluster = clusterFactory.CreateCluster(); cluster.Initialize(); return(cluster); }
private IServerMonitorFactory CreateServerMonitorFactory() { var serverMonitorConnectionSettings = _connectionSettings .With(authenticatorFactories: new IAuthenticatorFactory[] { }); var heartbeatConnectTimeout = _tcpStreamSettings.ConnectTimeout; if (heartbeatConnectTimeout == TimeSpan.Zero || heartbeatConnectTimeout == Timeout.InfiniteTimeSpan) { heartbeatConnectTimeout = TimeSpan.FromSeconds(30); } var heartbeatSocketTimeout = _serverSettings.HeartbeatTimeout; if (heartbeatSocketTimeout == TimeSpan.Zero || heartbeatSocketTimeout == Timeout.InfiniteTimeSpan) { heartbeatSocketTimeout = heartbeatConnectTimeout; } var serverMonitorTcpStreamSettings = new TcpStreamSettings(_tcpStreamSettings) .With( connectTimeout: heartbeatConnectTimeout, readTimeout: heartbeatSocketTimeout, writeTimeout: heartbeatSocketTimeout ); var serverMonitorStreamFactory = CreateTcpStreamFactory(serverMonitorTcpStreamSettings); var serverMonitorSettings = new ServerMonitorSettings( connectTimeout: serverMonitorTcpStreamSettings.ConnectTimeout, heartbeatInterval: _serverSettings.HeartbeatInterval); var serverMonitorConnectionFactory = new BinaryConnectionFactory( serverMonitorConnectionSettings, serverMonitorStreamFactory, new EventAggregator(), _clusterSettings.ServerApi); return(new ServerMonitorFactory( serverMonitorSettings, serverMonitorConnectionFactory, _eventAggregator, _clusterSettings.ServerApi)); }
public ClientInst() { ConnectionFactory = new BinaryConnectionFactory(); }