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; }
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; }
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); }