// 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*/); }
void AddIOWorker(AsyncIOWorker worker) { AsyncIOWorkerList.Add(worker); }