青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁 新隨筆 聯系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

// filename: CEIocpSocket.cpp
// author: enic
// date: 2013-03-30

#include "CEIocpSocket.h"

#include "CESpinLock.h"

HANDLE CEIocpSocket::ms_hIoComplete = NULL;

CEIocpSocket::~CEIocpSocket()
{
}

 

 

 

 

 

 


E_DWORD CEIocpSocket::InitIocpWorkThreads()
{
    if (ms_hIoComplete != false)
    {
        return E_ERR;
    }

    SYSTEM_INFO nativeSysInfo;
    ::GetNativeSystemInfo(&nativeSysInfo);

    E_SIZE nThreadNum = nativeSysInfo.dwNumberOfProcessors*2;

    ms_hIoComplete = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, NULL, nThreadNum);
    Thread_EIocpSocket_StartParameter startParameter;
    memset(&startParameter, NULL, sizeof(startParameter));
    startParameter.hIoComplete = ms_hIoComplete;

    for (E_SIZE n = 0; n < nThreadNum; ++n)
    {
        boost::thread newThread(
            boost::bind(&CEIocpSocket::Thread_EIocpSocket, startParameter));

        EIOCP_OVERLAPPED* pIocpOverlapped = new EIOCP_OVERLAPPED;
        memset(pIocpOverlapped, NULL, sizeof(*pIocpOverlapped));
        pIocpOverlapped->pEIocpSocket = reinterpret_cast<CEIocpSocket*>(n);
        // PostQueuedCompletionStatus和GetQueuedCompletionStatus只是傳遞pIocpOverlapped這地址的值
        // 所以對這個地址的內存管理需要程序員自己實現
        BOOL bResult = PostQueuedCompletionStatus(ms_hIoComplete, n, 0, pIocpOverlapped);
        if (FALSE == bResult)
        {
                std::cout << __FUNCTION__ << std::endl;
                std::cout << "error: " << ::GetLastError() << std::endl;
        }

    }


    return E_OK;
}


void CEIocpSocket::Thread_EIocpSocket(Thread_EIocpSocket_StartParameter pStartParameter)
{
    std::cout << __FUNCTION__ << std::endl;

    DWORD nLenTransferred = 0;
    CEIocpSocket* pEIocpSocket = NULL;
    EIOCP_OVERLAPPED* pIocpOverlapped = NULL;

    ULONG_PTR ulKey = NULL;
    OVERLAPPED* pOverlapped;

    while(true)
    {
        BOOL bResult =
            GetQueuedCompletionStatus(pStartParameter.hIoComplete,
            &nLenTransferred, 
            &ulKey,
            &pOverlapped,
            INFINITE);
        pEIocpSocket = reinterpret_cast<CEIocpSocket*>(ulKey);
        pIocpOverlapped = static_cast<EIOCP_OVERLAPPED*>(pOverlapped);
        if(FALSE == bResult)
        {
            DWORD ewLastError = ::GetLastError();
            if(WAIT_TIMEOUT == ewLastError)
            {
                continue;
            }
            else
            {
                std::cout << __FUNCTION__ << std::endl;
                std::cout << "error: " << ewLastError << std::endl;
                return;
            }
        }
        else
        {
            std::cout << nLenTransferred << std::endl;
            std::cout << reinterpret_cast<int>(pIocpOverlapped->pEIocpSocket) << std::endl;
            delete pIocpOverlapped;
        }
    }
}

 

 

posted on 2013-03-31 23:53 Enic 閱讀(352) 評論(0)  編輯 收藏 引用 所屬分類: iocp

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美在线啊v一区| 亚洲国产精品欧美一二99| 亚洲另类在线一区| 欧美一区不卡| 99精品欧美一区| 欧美777四色影视在线| 国产一区二区三区在线观看视频| 在线亚洲自拍| 亚洲精品一区二区三区av| 久久青草欧美一区二区三区| 含羞草久久爱69一区| 午夜综合激情| 亚洲性色视频| 国产精品视频观看| 午夜精品成人在线| 亚洲欧美中日韩| 国产一区 二区 三区一级| 欧美在线观看一区| 亚洲欧美中日韩| 国内自拍亚洲| 欧美黄色成人网| 欧美激情1区2区3区| 最新国产拍偷乱拍精品 | 一区免费视频| 久久免费视频网| 欧美sm视频| 欧美一区二区精品久久911| 久久精品国产亚洲aⅴ| 亚洲天天影视| 99亚洲视频| 欧美巨乳在线观看| 最新日韩在线视频| 亚洲国产一区二区三区a毛片| 欧美丰满高潮xxxx喷水动漫| 日韩一本二本av| 亚洲特色特黄| 国产欧美丝祙| 免费视频一区| 欧美少妇一区二区| 久久精品国产第一区二区三区| 久久久久综合网| 99国内精品久久久久久久软件| 在线午夜精品| 怡红院av一区二区三区| 亚洲欧洲日本国产| 国产麻豆精品在线观看| 欧美+亚洲+精品+三区| 欧美日韩少妇| 久久综合九色综合欧美就去吻| 欧美精品国产一区| 久久蜜桃香蕉精品一区二区三区| 欧美国产视频日韩| 久久精品国产免费观看| 欧美大片91| 欧美在线播放视频| 欧美精品久久一区二区| 久久久久成人网| 欧美日韩中文| 欧美成人乱码一区二区三区| 国产精品高清网站| 欧美激情精品久久久久久黑人 | 夜夜嗨av一区二区三区四季av | 欧美一区2区三区4区公司二百| 欧美成人免费观看| 久久精品五月婷婷| 欧美午夜精品理论片a级按摩| 免费成人高清视频| 国产日韩欧美二区| 亚洲国产精品一区制服丝袜 | 香港久久久电影| 欧美1区免费| 久久久久久亚洲综合影院红桃| 欧美日韩高清一区| 欧美第一黄网免费网站| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 国产精品爱啪在线线免费观看| 欧美.www| 在线观看国产一区二区| 欧美一区影院| 性久久久久久久久久久久| 欧美国产亚洲精品久久久8v| 麻豆免费精品视频| 国外成人在线视频| 欧美一级艳片视频免费观看| 亚洲欧美一区二区在线观看| 欧美色图五月天| 99精品国产热久久91蜜凸| 999亚洲国产精| 欧美承认网站| 亚洲日本欧美天堂| 9l国产精品久久久久麻豆| 模特精品裸拍一区| 欧美激情成人在线视频| 亚洲人成人99网站| 欧美成人精品影院| 亚洲精品国产精品乱码不99| 亚洲美女区一区| 欧美日韩精品欧美日韩精品| 日韩视频一区二区三区| 亚洲一区二区三| 国产精品视频yy9099| 欧美一区二区三区四区视频| 久久婷婷激情| 亚洲欧洲综合另类在线| 欧美日韩精品二区| 亚洲一卡二卡三卡四卡五卡| 欧美一区二区日韩| 韩国在线一区| 久久中文精品| 亚洲欧洲在线一区| 亚洲一区二区三区中文字幕| 国产精品一区二区你懂的| 久久精品中文字幕一区二区三区| 蜜桃久久精品乱码一区二区| 最新国产乱人伦偷精品免费网站| 欧美日韩国产成人在线观看| 亚洲午夜精品福利| 久久综合精品一区| 日韩视频免费在线| 国产欧美日本在线| 久久综合色一综合色88| 亚洲区中文字幕| 欧美一区二区三区四区在线观看地址| 国产一区91| 欧美日韩1区2区3区| 午夜精品久久久久久久蜜桃app | 欧美日韩性视频在线| 亚洲一区在线直播| 欧美+亚洲+精品+三区| 国产精品99久久久久久久久久久久| 国产精品免费看片| 老司机免费视频久久| 一区二区三区不卡视频在线观看| 久久久精品国产免大香伊| 亚洲精品一区二区在线观看| 久久久久高清| 久久综合一区| 一区二区视频免费完整版观看| 夜夜嗨av一区二区三区四区 | 日韩午夜激情av| 欧美亚洲三区| 亚洲一区二区久久| 国产日韩成人精品| 悠悠资源网亚洲青| 亚洲欧美日韩视频一区| 久久琪琪电影院| 亚洲无线视频| 亚洲人午夜精品免费| 国产偷国产偷精品高清尤物| 欧美全黄视频| 麻豆国产精品一区二区三区 | 久久久久久久久综合| 亚洲视频观看| 亚洲精品综合久久中文字幕| 久久夜色精品国产亚洲aⅴ| 午夜精品三级视频福利| 日韩视频免费| 亚洲欧洲精品一区二区| 狠狠色丁香婷婷综合久久片| 国产精品一二三视频| 欧美日韩午夜剧场| 欧美日本高清视频| 欧美激情1区2区| 欧美激情在线有限公司| 媚黑女一区二区| 久久久夜精品| 久久久久国产精品www| 欧美一区精品| 久久大综合网| 欧美自拍偷拍午夜视频| 欧美亚洲三区| 午夜影视日本亚洲欧洲精品| 亚洲女爱视频在线| 午夜精品久久久| 亚洲欧美一级二级三级| 午夜精品久久久久久久男人的天堂| 99精品国产一区二区青青牛奶| 亚洲国产一区二区三区在线播 | 欧美激情一区二区久久久| 免费观看成人| 欧美不卡视频一区| 欧美大片在线观看一区| 欧美高清视频一区二区三区在线观看| 久久只精品国产| 免费91麻豆精品国产自产在线观看| 久久亚洲视频| 免费一级欧美片在线观看| 免费成人美女女| 亚洲国产专区| 在线一区欧美| 欧美一区二区三区视频免费| 久久精品亚洲精品| 欧美a一区二区| 欧美色道久久88综合亚洲精品| 国产精品视频免费观看| 国内综合精品午夜久久资源| 亚洲日本欧美在线| 亚洲欧美日韩精品| 欧美一区二区啪啪| 久久精品av麻豆的观看方式 |