コード例 #1
0
ファイル: SoundsPriorityQueue.cs プロジェクト: desla/AS
        /// <summary>
        /// Добавить сообщение в очередь.
        /// </summary>
        /// <param name="aMessage">Сообщение.</param>
        public void InsertMessage(SoundMessage aMessage)
        {
            if (aMessage.GetPriority() > maxPriority) {
                throw new ArgumentOutOfRangeException(string.Format("Priority must be less than {0}.", maxPriority));
            }

            lock (queueLock) {
                messageList.Add(aMessage);
                messageList.Sort(Comparer);
            }
        }
コード例 #2
0
ファイル: SoundsPriorityQueue.cs プロジェクト: desla/AS
 /// <summary>
 /// Сортируем так, чтобы сообщения с высоким приоритетом были вначале очереди.
 /// </summary>
 /// <param name="aFirst">X.</param>
 /// <param name="aSecond">Y.</param>
 /// <returns>Результат сравнения.</returns>
 private static int Comparer(SoundMessage aFirst, SoundMessage aSecond)
 {
     return aFirst.GetPriority() <= aSecond.GetPriority() ? 0 : -1;
 }