Esempio n. 1
0
        public void Start_5_Threads()
        {
            DequeueSynchronizer dequeueSynchronizer;
            ISmsc smsc;
            IQueueHandler queueHandler;

            smsc = SmsFactory.GetSmsc();
            queueHandler = (IQueueHandler) ObjectState.GetField(smsc, "_defaultQueueHandler");

            dequeueSynchronizer = new DequeueSynchronizer(5, queueHandler, Forwarder);

            dequeueSynchronizer.SuspendWorkers();
            dequeueSynchronizer.ResumeWorkers();

            Assert.AreEqual(5, dequeueSynchronizer.RunningWorkers);

            dequeueSynchronizer.SuspendWorkers();

            Assert.AreEqual(0, dequeueSynchronizer.RunningWorkers);

            dequeueSynchronizer.ResumeWorkers();

            Assert.AreEqual(5, dequeueSynchronizer.RunningWorkers);

            dequeueSynchronizer.TerminateWorkers();

            Assert.AreEqual(0, dequeueSynchronizer.RunningWorkers);
        }
Esempio n. 2
0
File: Smsc.cs Progetto: jeden/unisms
 /// <summary>
 /// Constructor for EnqueueService mode
 /// New instances must be created using the SmsFactory class
 /// </summary>
 /// <param name="dequeuers">
 /// Number of dequeuers to be instantiated<br/>
 /// The number of dequeuers cannot be changed after instantiation
 /// </param>
 internal Smsc(int dequeuers)
     : this()
 {
     _dequeueSynchronizer = new DequeueSynchronizer(dequeuers, _defaultQueueHandler, Forward);
 }