Esempio n. 1
0
 void IDeserializationCallback.OnDeserialization(object sender)
 {
     lock (this)
     {
         _wq = new FIFOWaitQueue();
     }
 }
Esempio n. 2
0
 internal FilterStore(SimEnvironment env, int capacity, WaitPolicy getPolicy, WaitPolicy putPolicy,
                      WaitPolicy itemPolicy) : base(env)
 {
     _capacity  = capacity;
     _getQueue  = WaitQueue.New <GetEvent>(getPolicy, Env);
     _putQueue  = WaitQueue.New <PutEvent>(putPolicy, Env);
     _itemQueue = WaitQueue.New <T>(itemPolicy, Env);
 }
Esempio n. 3
0
 internal Container(SimEnvironment env, double capacity, double level, WaitPolicy getPolicy, WaitPolicy putPolicy)
     : base(env)
 {
     _capacity = capacity;
     Level     = level;
     _getQueue = WaitQueue.New <GetEvent>(getPolicy, Env);
     _putQueue = WaitQueue.New <PutEvent>(putPolicy, Env);
 }
Esempio n. 4
0
 /// <summary>
 /// Creates a <see cref="SynchronousQueue{T}"/> with specified fairness policy.
 /// </summary>
 /// <param name="fair">
 /// if true, threads contend in FIFO order for access otherwise the order is unspecified.
 /// </param>
 public SynchronousQueue(bool fair)
 {
     if (fair)
     {
         _qlock            = new ReentrantLock(true);
         _waitingProducers = new FifoWaitQueue();
         _waitingConsumers = new FifoWaitQueue();
     }
     else
     {
         _qlock            = new ReentrantLock();
         _waitingProducers = new LifoWaitQueue();
         _waitingConsumers = new LifoWaitQueue();
     }
 }
Esempio n. 5
0
 void IDeserializationCallback.OnDeserialization(object sender)
 {
     lock (this)
     {
         _wq = new FIFOWaitQueue();
     }
 }
Esempio n. 6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="env"></param>
 /// <param name="capacity"></param>
 /// <param name="requestPolicy"></param>
 internal Resource(SimEnvironment env, int capacity, WaitPolicy requestPolicy) : base(env)
 {
     _capacity     = capacity;
     _requestQueue = WaitQueue.New <RequestEvent>(requestPolicy, Env);
 }