public void Setup()
        {
            _clusterId             = new ClusterId();
            _connectionPool        = Substitute.For <IConnectionPool>();
            _connectionPoolFactory = Substitute.For <IConnectionPoolFactory>();
            _connectionPoolFactory.CreateConnectionPool(null, null)
            .ReturnsForAnyArgs(_connectionPool);

            _endPoint                   = new DnsEndPoint("localhost", 27017);
            _heartbeatConnection        = new MockConnection();
            _heartbeatConnectionFactory = Substitute.For <IConnectionFactory>();
            _heartbeatConnectionFactory.CreateConnection(null, null)
            .ReturnsForAnyArgs(_heartbeatConnection);

            _listener = Substitute.For <IServerListener>();
            _settings = new ServerSettings(heartbeatInterval: Timeout.InfiniteTimeSpan);

            _subject = new ClusterableServer(_settings, _clusterId, _endPoint, _connectionPoolFactory, _heartbeatConnectionFactory, _listener);
        }
        public void Setup()
        {
            _clusterId             = new ClusterId();
            _clusterConnectionMode = ClusterConnectionMode.Standalone;
            _connectionPool        = Substitute.For <IConnectionPool>();
            _connectionPoolFactory = Substitute.For <IConnectionPoolFactory>();
            _connectionPoolFactory.CreateConnectionPool(null, null)
            .ReturnsForAnyArgs(_connectionPool);

            _endPoint                   = new DnsEndPoint("localhost", 27017);
            _heartbeatConnection        = new MockConnection();
            _heartbeatConnectionFactory = Substitute.For <IConnectionFactory>();
            _heartbeatConnectionFactory.CreateConnection(null, null)
            .ReturnsForAnyArgs(_heartbeatConnection);

            _capturedEvents = new EventCapturer();
            _settings       = new ServerSettings(heartbeatInterval: Timeout.InfiniteTimeSpan);

            _subject = new ClusterableServer(_clusterId, _clusterConnectionMode, _settings, _endPoint, _connectionPoolFactory, _heartbeatConnectionFactory, _capturedEvents);
        }
 // constructors
 public ServerChannel(ClusterableServer server, IConnectionHandle connection)
 {
     _server     = server;
     _connection = connection;
 }
 public ServerConnection(ClusterableServer server, IConnectionHandle wrapped)
     : base(wrapped)
 {
     _wrappedHandle = wrapped;
     _server        = server;
 }