/// <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); }
/// <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; }