Esempio n. 1
0
        public DistributorModule(
            AsyncTasksConfiguration asyncPing,
            AsyncTasksConfiguration asyncCheck,
            DistributorHashConfiguration configuration,
            QueueConfiguration queueConfiguration,
            DistributorNetModule distributorNet,
            ServerId localfordb,
            ServerId localforproxy,
            HashMapConfiguration hashMapConfiguration)
        {
            Contract.Requires(configuration != null);
            Contract.Requires(queueConfiguration != null);
            Contract.Requires(distributorNet != null);
            Contract.Requires(localfordb != null);
            Contract.Requires(localforproxy != null);
            Contract.Requires(asyncPing != null);
            _asyncPing       = asyncPing;
            _asyncTaskModule = new AsyncTaskModule(queueConfiguration);

            _queueConfiguration         = queueConfiguration;
            _modelOfDbWriters           = new WriterSystemModel(configuration, hashMapConfiguration);
            _modelOfAnotherDistributors = new DistributorSystemModel();
            _distributorNet             = distributorNet;
            _localfordb    = localfordb;
            _localforproxy = localforproxy;
            _asyncCheck    = asyncCheck;
            _queue         = GlobalQueue.Queue;
        }
Esempio n. 2
0
 public ProxyDistributorModule(AsyncProxyCache asyncProxyCache, ProxyNetModule net,
                               QueueConfiguration queueConfiguration, ServerId local,
                               AsyncTasksConfiguration asyncGetData, AsyncTasksConfiguration asyncPing)
 {
     _asyncProxyCache        = asyncProxyCache;
     _asynPing               = asyncPing;
     _queueConfiguration     = queueConfiguration;
     _distributorSystemModel = new DistributorSystemModel();
     _asynGetData            = asyncGetData;
     _net   = net;
     _local = local;
     _async = new AsyncTaskModule(queueConfiguration);
     _queue = GlobalQueue.Queue;
 }
Esempio n. 3
0
        public void ProxyDistributorModule_TransactionDestination_CreateTransAndGetDestination()
        {
            var model   = new DistributorSystemModel();
            var server1 = new ServerId("localhost", 1);
            var server2 = new ServerId("localhost", 2);

            model.AddServer(server1);
            model.AddServer(server2);

            const string hash = "123";

            var res1 = model.CreateTransaction(hash);

            Assert.IsNotNull(res1);
            var res2 = model.GetDestination(res1.UserTransaction);

            Assert.IsTrue(server1.Equals(res2));

            var res3 = model.CreateTransaction(hash);

            Assert.IsNotNull(res3);
            var res4 = model.GetDestination(res3.UserTransaction);

            Assert.IsTrue(server2.Equals(res4));

            model.ServerNotAvailable(server1);

            var res5 = model.CreateTransaction(hash);

            Assert.IsNotNull(res5);
            var res6 = model.GetDestination(res5.UserTransaction);

            Assert.IsTrue(server2.Equals(res6));

            model.ServerNotAvailable(server2);

            var res7 = model.CreateTransaction(hash);

            Assert.AreEqual(Errors.NotAvailableServersInSystem + "; ", res7.ErrorDescription);
        }