Example #1
0
        public LogicProcessor(NetworkService service, IUserSessionManageable userManager)
        {
            networkService   = service;
            this.userManager = userManager;

            messageQueue = new DoubleBufferingQueue();
            messageEvent = new AutoResetEvent(false);
        }
Example #2
0
        public void Initialize(IPacketHandleable logicHandler, IUserSessionManageable userManager)
        {
            // TODO :: 서버 config 클래스 구현.
            const int maxConnections = 10000;
            const int bufferSize     = 1024;
            const int preAllocCount  = 2;

            bufferManager = new BufferManager(maxConnections * bufferSize * preAllocCount, bufferSize);
            bufferManager.InitBuffer();

            receiveEventArgsPool = new SocketAsyncEventArgsPool(maxConnections);
            sendEventArgsPool    = new SocketAsyncEventArgsPool(maxConnections);
            MakeEventPools(maxConnections);

            httpNetwork = new HttpNetwork();

            this.userManager  = userManager;
            this.logicHandler = logicHandler;
        }