Exemple #1
0
        /// <summary>
        /// Adds a frame to the delay queue
        /// </summary>
        /// <param name="sh">The SNAC header of the frame to add</param>
        /// <param name="data">A byte array consisting of the delayed frame</param>
        /// <returns><c>true</c> if a queue already existed for this family, or <c>false</c> if <see cref="ServiceManager.RequestNewService"/> should be called
        /// </returns>
        public bool AddFrameToDelayQueue(SNACHeader sh, byte[] data)
        {
            Queue  q      = null;
            bool   retval = true;
            ushort key    = sh.FamilyServiceID;

            DelayedFrame df = new DelayedFrame();

            df.SNAC = sh;
            df.Data = data;

            if (_delayqueues.ContainsKey(key))
            {
                q = (Queue)_delayqueues[key];
                q.Enqueue(df);
                retval = true;
            }
            else
            {
                q = new Queue();
                q.Enqueue(df);
                _delayqueues[key] = q;
                retval            = false;
            }
            return(retval);
        }
Exemple #2
0
        /// <summary>
        /// Adds a frame to the delay queue
        /// </summary>
        /// <param name="sh">The SNAC header of the frame to add</param>
        /// <param name="data">A byte array consisting of the delayed frame</param>
        /// <returns><c>true</c> if a queue already existed for this family, or <c>false</c> if <see cref="ServiceManager.RequestNewService"/> should be called
        /// </returns>
        public bool AddFrameToDelayQueue(SNACHeader sh, byte[] data)
        {
            Queue q = null;
            bool retval = true;
            ushort key = sh.FamilyServiceID;

            DelayedFrame df = new DelayedFrame();
            df.SNAC = sh;
            df.Data = data;

            if (_delayqueues.ContainsKey(key))
            {
                q = (Queue) _delayqueues[key];
                q.Enqueue(df);
                retval = true;
            }
            else
            {
                q = new Queue();
                q.Enqueue(df);
                _delayqueues[key] = q;
                retval = false;
            }
            return retval;
        }