Example #1
0
        public void EnQueue(Call call, Priority.PriorityMode priority)
        {
            switch (priority)
            {
            case Priority.PriorityMode.Urgent:
                lock (this.upQ) {
                    this.upQ.Enqueue(call);
                }
                break;

            case Priority.PriorityMode.High:
                lock (this.hpQ)
                {
                    this.hpQ.Enqueue(call);
                }
                break;

            case Priority.PriorityMode.Medium:
                lock (this.mpQ)
                {
                    this.mpQ.Enqueue(call);
                }
                break;

            default:
                lock (this.lpQ)
                {
                    this.lpQ.Enqueue(call);
                }
                break;
            }
            SharedClass.Logger.Info("Enqueuing the call of Id : " + call.QueueTableSlno.ToString());
        }
Example #2
0
 public static void SetSlno(int gatewayId, Environment environment, Priority.PriorityMode priorityMode, long slno)
 {
     lock (_gatewayEnvironmentPriorityModeSlnoDictionary)
     {
         if (!_gatewayEnvironmentPriorityModeSlnoDictionary.ContainsKey(gatewayId))
         {
             Dictionary <Priority.PriorityMode, long> priorityModeSlnoDictionary = new Dictionary <Priority.PriorityMode, long>();
             priorityModeSlnoDictionary.Add(priorityMode, slno);
             Dictionary <Environment, Dictionary <Priority.PriorityMode, long> > environmentPriorityModeSlnoDictionary = new Dictionary <Environment, Dictionary <Priority.PriorityMode, long> >();
             environmentPriorityModeSlnoDictionary.Add(environment, priorityModeSlnoDictionary);
             _gatewayEnvironmentPriorityModeSlnoDictionary.Add(gatewayId, environmentPriorityModeSlnoDictionary);
         }
         else if (!_gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId].ContainsKey(environment))
         {
             Dictionary <Priority.PriorityMode, long> priorityModeSlnoDictionary = new Dictionary <Priority.PriorityMode, long>();
             priorityModeSlnoDictionary.Add(priorityMode, slno);
             _gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId].Add(environment, priorityModeSlnoDictionary);
         }
         else if (!_gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId][environment].ContainsKey(priorityMode))
         {
             _gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId][environment].Add(priorityMode, slno);
         }
         else
         {
             _gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId][environment][priorityMode] = slno;
         }
     }
 }
Example #3
0
        public int QueueCount(Priority.PriorityMode mode)
        {
            int count = 0;

            try
            {
                switch (mode)
                {
                case Priority.PriorityMode.Urgent:
                    lock (this.upQ) {
                        count = this.upQ.Count;
                    }
                    break;

                case Priority.PriorityMode.High:
                    lock (this.hpQ)
                    {
                        count = this.hpQ.Count;
                    }
                    break;

                case Priority.PriorityMode.Medium:
                    lock (this.mpQ)
                    {
                        count = this.mpQ.Count;
                    }
                    break;

                case Priority.PriorityMode.Low:
                    lock (this.lpQ)
                    {
                        count = this.lpQ.Count;
                    }
                    break;

                default:
                    break;
                }
            }
            catch (Exception e) {
                SharedClass.Logger.Error("Error Querying Queue Count : " + e.ToString());
            }
            return(count);
        }
Example #4
0
        public static long GetSlno(int gatewayId, Environment environment, Priority.PriorityMode priorityMode)
        {
            long slno    = 0;
            bool setFlag = false;

            lock (_gatewayEnvironmentPriorityModeSlnoDictionary)
            {
                if (_gatewayEnvironmentPriorityModeSlnoDictionary.ContainsKey(gatewayId) && _gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId].ContainsKey(environment) && _gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId][environment].ContainsKey(priorityMode))
                {
                    slno = _gatewayEnvironmentPriorityModeSlnoDictionary[gatewayId][environment][priorityMode];
                }
                else
                {
                    setFlag = true;
                }
            }
            if (setFlag)
            {
                SetSlno(gatewayId, environment, priorityMode, slno);
            }
            return(slno);
        }
Example #5
0
 public PollingInput(Priority.PriorityMode priorityMode, Environment environment)
 {
     this._priorityMode = priorityMode;
     this._environment  = environment;
 }