Beispiel #1
0
        // io * maxconnect * multiple 만큼 버퍼가 할당됩니다.
        public AsyncIOManager(int ioWorkerCount, INetworkReceiver receiver, int maxIOBufferSize, int maxConnectCount, int multiple)
        {
            theReceiver = receiver;
            MaxCount    = ioWorkerCount;

            if (MaxCount < 1)
            {
                MaxCount = System.Environment.ProcessorCount;
            }

            for (int index = 1; index <= MaxCount; index++)
            {
                AsyncIOWorker theone = new AsyncIOWorker(theReceiver, this);
                theone.Index = index;
                AddIOWorker(theone);
            }

            CurrentId = 1;
            IOSize    = maxIOBufferSize;

            IOFrameMax    = maxConnectCount * multiple;
            BufferManager = new BufferManagerAsync(IOSize * IOFrameMax, IOSize);
            BufferManager.InitBuffer();

            EventArgsPool = new SocketAsyncEventArgsPool(/*ioframemax*/);
        }
Beispiel #2
0
 void AddIOWorker(AsyncIOWorker worker)
 {
     AsyncIOWorkerList.Add(worker);
 }