예제 #1
0
		public SealedVirtualCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider)
		{
			this._cluster = cluster;
			this._connectionPool = pool;
			this._connection = new VirtualClusterConnection(cluster, dateTimeProvider);
			this._dateTimeProvider = dateTimeProvider;
		}
		public VirtualizedCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
		{
			this._dateTimeProvider = dateTimeProvider;
			this._settings = settings;
			this._fixedRequestPipeline = new FixedPipelineFactory(settings, this._dateTimeProvider);

			this._cluster = cluster;
			this._connectionPool = pool;
		}
예제 #3
0
        public void UpdateCluster(VirtualCluster cluster)
        {
            if (cluster == null)
            {
                return;
            }

            lock (_lock)
            {
                _cluster = cluster;
                Calls    = cluster.Nodes.ToDictionary(n => n.Uri.Port, v => new State());
            }
        }
예제 #4
0
		public VirtualizedCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
		{
			this._dateTimeProvider = dateTimeProvider;
			this._settings = settings;
			this._fixedRequestPipeline = new FixedPipelineFactory(settings, this._dateTimeProvider);

			this._cluster = cluster;
			this._connectionPool = pool;

			this._syncCall = (c, r) => c.Search<Project>(s => s.RequestConfiguration(r));
			this._asyncCall = async (c, r) =>
			{
				var res = await c.SearchAsync<Project>(s => s.RequestConfiguration(r));
				return (IResponse)res;
			};
		}
예제 #5
0
        public VirtualizedCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider, ConnectionSettings settings)
        {
            this._dateTimeProvider     = dateTimeProvider;
            this._settings             = settings;
            this._fixedRequestPipeline = new FixedPipelineFactory(settings, this._dateTimeProvider);

            this._cluster        = cluster;
            this._connectionPool = pool;

            this._syncCall  = (c, r) => c.Search <Project>(s => s.RequestConfiguration(r));
            this._asyncCall = async(c, r) =>
            {
                var res = await c.SearchAsync <Project>(s => s.RequestConfiguration(r));

                return((IResponse)res);
            };
        }
예제 #6
0
 public VirtualClusterConnection(VirtualCluster cluster, TestableDateTimeProvider dateTimeProvider)
 {
     this.UpdateCluster(cluster);
     this._dateTimeProvider = dateTimeProvider;
 }
예제 #7
0
 public SealedVirtualCluster(VirtualCluster cluster, IConnectionPool pool, TestableDateTimeProvider dateTimeProvider)
 {
     this._connectionPool   = pool;
     this._connection       = new VirtualClusterConnection(cluster, dateTimeProvider);
     this._dateTimeProvider = dateTimeProvider;
 }
예제 #8
0
 public PingRule SucceedAlways(VirtualCluster cluster = null) => this.Succeeds(TimesHelper.Always);
예제 #9
0
 public SniffRule SucceedAlways(VirtualCluster cluster = null) => this.Succeeds(TimesHelper.Always, cluster);