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()); }
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; } } }
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); }
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); }
public PollingInput(Priority.PriorityMode priorityMode, Environment environment) { this._priorityMode = priorityMode; this._environment = environment; }