Cakewalk.Server.SocketAsyncPool.SocketAsyncPool C# (CSharp) Метод

SocketAsyncPool() публичный Метод

Create a pool of async socket context objects
public SocketAsyncPool ( int bufferSize, int maxCount ) : System
bufferSize int
maxCount int
Результат System
        public SocketAsyncPool(int bufferSize, int maxCount)
        {
            m_bufferSize = bufferSize;

            //Allocate and pin memory pool
            m_buffer = new byte[maxCount * bufferSize];
            m_bufferHandle = GCHandle.Alloc(m_buffer, GCHandleType.Pinned);

            m_eventArgs = new SocketAsyncEventArgs[maxCount];
            m_freeObjects = new ConcurrentQueue<int>();

            //Setup all context objects with their buffers
            for (int i = 0; i < maxCount; i++)
            {
                m_eventArgs[i] = new SocketAsyncEventArgs();
                m_eventArgs[i].UserToken = i;
                m_eventArgs[i].SetBuffer(m_buffer, i*bufferSize, bufferSize);

                m_freeObjects.Enqueue(i);
            }
        }