Beispiel #1
0
        public ReplicaService(IPublisher publisher,
                              TFChunkDb db,
                              IEpochManager epochManager,
                              IPublisher networkSendQueue,
                              IAuthenticationProvider authProvider,
                              AuthorizationGateway authorizationGateway,
                              EndPoint internalTcp,
                              bool isReadOnlyReplica,
                              bool useSsl,
                              Func <X509Certificate, X509Chain, SslPolicyErrors, ValueTuple <bool, string> > sslServerCertValidator,
                              Func <X509Certificate> sslClientCertificateSelector,
                              TimeSpan heartbeatTimeout,
                              TimeSpan heartbeatInterval,
                              TimeSpan writeTimeout)
        {
            Ensure.NotNull(publisher, "publisher");
            Ensure.NotNull(db, "db");
            Ensure.NotNull(epochManager, "epochManager");
            Ensure.NotNull(networkSendQueue, "networkSendQueue");
            Ensure.NotNull(authProvider, "authProvider");
            Ensure.NotNull(authorizationGateway, "authorizationGateway");
            Ensure.NotNull(internalTcp, nameof(internalTcp));

            _publisher            = publisher;
            _db                   = db;
            _epochManager         = epochManager;
            _networkSendQueue     = networkSendQueue;
            _authProvider         = authProvider;
            _authorizationGateway = authorizationGateway;

            _internalTcp                  = internalTcp;
            _isReadOnlyReplica            = isReadOnlyReplica;
            _useSsl                       = useSsl;
            _sslServerCertValidator       = sslServerCertValidator;
            _sslClientCertificateSelector = sslClientCertificateSelector;
            _heartbeatTimeout             = heartbeatTimeout;
            _heartbeatInterval            = heartbeatInterval;

            _connector     = new TcpClientConnector();
            _tcpDispatcher = new InternalTcpDispatcher(writeTimeout);
        }
Beispiel #2
0
        public ReplicaService(IPublisher publisher,
                              TFChunkDb db,
                              IEpochManager epochManager,
                              IPublisher networkSendQueue,
                              IAuthenticationProvider authProvider,
                              AuthorizationGateway authorizationGateway,
                              VNodeInfo nodeInfo,
                              bool useSsl,
                              bool sslValidateServer,
                              X509CertificateCollection sslClientCertificates,
                              TimeSpan heartbeatTimeout,
                              TimeSpan heartbeatInterval,
                              TimeSpan writeTimeout)
        {
            Ensure.NotNull(publisher, "publisher");
            Ensure.NotNull(db, "db");
            Ensure.NotNull(epochManager, "epochManager");
            Ensure.NotNull(networkSendQueue, "networkSendQueue");
            Ensure.NotNull(authProvider, "authProvider");
            Ensure.NotNull(authorizationGateway, "authorizationGateway");
            Ensure.NotNull(nodeInfo, "nodeInfo");

            _publisher            = publisher;
            _db                   = db;
            _epochManager         = epochManager;
            _networkSendQueue     = networkSendQueue;
            _authProvider         = authProvider;
            _authorizationGateway = authorizationGateway;

            _nodeInfo              = nodeInfo;
            _useSsl                = useSsl;
            _sslValidateServer     = sslValidateServer;
            _sslClientCertificates = sslClientCertificates;
            _heartbeatTimeout      = heartbeatTimeout;
            _heartbeatInterval     = heartbeatInterval;

            _connector     = new TcpClientConnector();
            _tcpDispatcher = new InternalTcpDispatcher(writeTimeout);
        }