Click here to Skip to main content
15,885,116 members
Articles / Programming Languages / C#

SIP Stack with SIP Proxy - (VOIP)

Rate me:
Please Sign up or sign in to vote.
4.86/5 (45 votes)
11 Jun 2007CPOL2 min read 1.6M   28.1K   162  
C# implementation of SIP
using System;
using System.Collections.Generic;
using System.Text;

namespace LumiSoft.Net
{
    /// <summary>
    /// Circle collection. Elements will be circled clockwise.
    /// </summary>
    public class CircleCollection<T>
    {
        private Queue<T> m_pItems = null;

        /// <summary>
        /// Default constructor.
        /// </summary>
        public CircleCollection()
        {
            m_pItems = new Queue<T>();
        }


        #region methd Add

        /// <summary>
        /// Adds specified items to the collection.
        /// </summary>
        /// <param name="items">Items to add.</param>
        public void Add(T[] items)
        {
            foreach(T item in items){
                Add(item);
            }
        }

        /// <summary>
        /// Adds specified item to collection.
        /// </summary>
        /// <param name="item">Item to add.</param>
        public void Add(T item)
        {
            m_pItems.Enqueue(item);
        }

        #endregion

        /*
        #region method Remove

        /// <summary>
        /// Removes specified item from collection.
        /// </summary>
        /// <param name="item"></param>
        public void Remove(T item)
        {
           m_pItems. 
        }

        #endregion
*/

        #region method Clear

        /// <summary>
        /// Clears all items from collection.
        /// </summary>
        public void Clear()
        {
            m_pItems.Clear();
        }

        #endregion

        #region method Next

        /// <summary>
        /// Gets next item.
        /// </summary>
        public T Next()
        {
            T item = m_pItems.Dequeue();
            m_pItems.Enqueue(item);

            return item;
        }

        #endregion


        #region Properties Implementation

        /// <summary>
        /// Gets number of items in queue.
        /// </summary>
        public int Count
        {
            get{ return m_pItems.Count; }
        }

        #endregion
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Estonia Estonia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions