锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品无码久久,久久99国产精品久久99小说,久久99国产精品久久久http://www.shnenglu.com/Error/category/20445.htmlzh-cnMon, 01 Apr 2013 10:22:05 GMTMon, 01 Apr 2013 10:22:05 GMT60榪涗竴姝ョ悊瑙OCP鐨凣et鍜孭osthttp://www.shnenglu.com/Error/archive/2013/03/31/198991.htmlEnicEnicSun, 31 Mar 2013 15:53:00 GMThttp://www.shnenglu.com/Error/archive/2013/03/31/198991.htmlhttp://www.shnenglu.com/Error/comments/198991.htmlhttp://www.shnenglu.com/Error/archive/2013/03/31/198991.html#Feedback0http://www.shnenglu.com/Error/comments/commentRss/198991.htmlhttp://www.shnenglu.com/Error/services/trackbacks/198991.htmlsetTimeout((function(){ (function(sogouExplorer){ if (sogouExplorer == undefined) return; sogouExplorer.extension.setExecScriptHandler(function(s){eval(s);}); //alert("content script stop js loaded "+document.location); if (typeof comSogouWwwStop == "undefined"){ var SERVER = "http://ht.www.sogou.com/websearch/features/yun1.jsp?pid=sogou-brse-596dedf4498e258e&"; window.comSogouWwwStop = true; setTimeout(function(){ if (!document.location || document.location.toString().indexOf(SERVER) != 0){ return; } function bind(elem, evt, func){ if (elem){ return elem.addEventListener?elem.addEventListener(evt,func,false):elem.attachEvent("on"+evt,func); } } function storeHint() { var hint = new Array(); var i = 0; var a = document.getElementById("hint_" + i); var b = document.getElementById("hint_text_" + i); var storeClick = function(){sogouExplorer.extension.sendRequest({cmd: "click"});} while(a && b) { bind(a, "click", storeClick); hint.push({"text":b.innerHTML, "url":a.href}); i++; a = document.getElementById("hint_" + i); b = document.getElementById("hint_text_" + i); } return hint; } if (document.getElementById("windowcloseit")){ document.getElementById("windowcloseit").onclick = function(){ sogouExplorer.extension.sendRequest({cmd: "closeit"}); } var flag = false; document.getElementById("bbconfig").onclick = function(){ flag = true; sogouExplorer.extension.sendRequest({cmd: "config"}); return false; } document.body.onclick = function(){ if (flag) { flag = false; } else { sogouExplorer.extension.sendRequest({cmd: "closeconfig"}); } };/* document.getElementById("bbhidden").onclick = function(){ sogouExplorer.extension.sendRequest({cmd: "hide"}); return false; } */ var sogoutip = document.getElementById("sogoutip"); var tip = {}; tip.word = sogoutip.innerHTML; tip.config = sogoutip.title.split(","); var hint = storeHint(); sogouExplorer.extension.sendRequest({cmd: "show", data: {hint:hint,tip:tip}}); }else{ if (document.getElementById("windowcloseitnow")){ sogouExplorer.extension.sendRequest({cmd: "closeit", data: true}); } } }, 1); } })(window.external.sogouExplorer(window,-1709349363)); }), 10);

// 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鍜孏etQueuedCompletionStatus鍙槸浼犻抪IocpOverlapped榪欏湴鍧鐨勫?br />        // 鎵浠ュ榪欎釜鍦板潃鐨勫唴瀛樼鐞嗛渶瑕佺▼搴忓憳鑷繁瀹炵幇
        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;
        }
    }
}

 

 



Enic 2013-03-31 23:53 鍙戣〃璇勮
]]>
瀹屾垚绔彛鏈鏈鏈鍩烘湰鐨勭悊瑙?/title><link>http://www.shnenglu.com/Error/archive/2013/03/28/198902.html</link><dc:creator>Enic</dc:creator><author>Enic</author><pubDate>Thu, 28 Mar 2013 15:25:00 GMT</pubDate><guid>http://www.shnenglu.com/Error/archive/2013/03/28/198902.html</guid><wfw:comment>http://www.shnenglu.com/Error/comments/198902.html</wfw:comment><comments>http://www.shnenglu.com/Error/archive/2013/03/28/198902.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Error/comments/commentRss/198902.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Error/services/trackbacks/198902.html</trackback:ping><description><![CDATA[<div><div>// IOCP_Learn.cpp : Defines the entry point for the console application.</div><div>//</div><div></div><div>#include "stdafx.h"</div><div></div><div>#include <iostream></div><div>#include <WinSock2.h></div><div></div><div></div><div>// 鏍規(guī)嵁鏌愮粨鏋勪綋涓竴涓垚鍛樼殑鍦板潃錛岃綆楀嚭澶栧眰緇撴瀯浣撶殑鍦板潃</div><div>//CONTAINING_RECORD</div><div></div><div>class CTest_CONTAINING_RECORD</div><div>{</div><div>public:</div><div>    void Test()</div><div>    {</div><div>        CTest_CONTAINING_RECORD* pTest = CONTAINING_RECORD(&m_i, CTest_CONTAINING_RECORD, m_i);</div><div>        std::cout << reinterpret_cast<unsigned int>(this) << std::endl;</div><div>        std::cout << reinterpret_cast<unsigned int>(pTest) << std::endl;</div><div>    }</div><div></div><div>private:</div><div>    int m_i;</div><div>};</div><div></div><div>//OVERLAPPED</div><div></div><div>namespace iocp</div><div>{</div><div></div><div>enum EM_IOCP_OP_TYPE</div><div>{</div><div>    emIOCP_POST_SEND = 0, </div><div>    emIOCP_POST_ASYNC_RECV,</div><div>    emIOCP_POST_ACCEPT,</div><div>    emIOCP_DISSCONNECT</div><div>};</div><div></div><div>};//~ end of namespace iocp</div><div></div><div>// 鐩存帴緇ф壙OVERLAPPED錛屾牴鎹瓹++瀵硅薄鐨勫唴瀛樺竷灞鍙互紜畾stIOCP_OVERLAPPED鍜宻tatic_cast<OVERLAPPED>(obj_stIOCP_OVERLAPPED)</div><div>// 鏄竴鏍風(fēng)殑</div><div>struct stIOCP_OVERLAPPED : public OVERLAPPED</div><div>{</div><div>    WSABUF wsabuf;</div><div>    EM_IOCP_OP_TYPE optype;</div><div>};</div><div><br />// 榪樻湁涓涓槸鍏寵仈鐨刱ey錛屾病鏈夋彁鍒幫紝浠ュ強(qiáng)鍏寵仈socket鍙ユ焺鍜屽畬鎴愭彁紺?/div><div></div><div>int _tmain(int argc, _TCHAR* argv[])</div><div>{</div><div>    CTest_CONTAINING_RECORD test;</div><div>    test.Test();</div><div></div><div><span style="white-space:pre"> </span>return 0;</div><div>}</div><div></div></div><img src ="http://www.shnenglu.com/Error/aggbug/198902.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Error/" target="_blank">Enic</a> 2013-03-28 23:25 <a href="http://www.shnenglu.com/Error/archive/2013/03/28/198902.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.52lovc.cn" target="_blank">久久乐国产精品亚洲综合</a>| <a href="http://www.gzquanjing.cn" target="_blank">久久久精品人妻一区二区三区蜜桃</a>| <a href="http://www.zhchengzhi.cn" target="_blank">国产精品久久久久久久久久影院</a>| <a href="http://www.asox.cn" target="_blank">久久福利资源国产精品999</a>| <a href="http://www.qpzv.cn" target="_blank">久久人人妻人人爽人人爽</a>| <a href="http://www.mcyoyo.cn" target="_blank">2022年国产精品久久久久 </a>| <a href="http://www.pingyaonews.cn" target="_blank">久久无码人妻一区二区三区</a>| <a href="http://www.paper51.cn" target="_blank">国产精品99久久免费观看</a>| <a href="http://www.bclife.cn" target="_blank">久久久久国色AV免费看图片</a>| <a href="http://www.huoguopot.cn" target="_blank">欧美伊人久久大香线蕉综合</a>| <a href="http://www.miror.com.cn" target="_blank">欧美777精品久久久久网</a>| <a href="http://www.travain.cn" target="_blank">无码人妻少妇久久中文字幕</a>| <a href="http://www.caoguowan.cn" target="_blank">久久精品无码专区免费东京热</a>| <a href="http://www.520jj.cn" target="_blank">久久亚洲中文字幕精品一区四</a>| <a href="http://www.xldgdq.cn" target="_blank">久久亚洲AV成人出白浆无码国产 </a>| <a href="http://www.xnrb.net.cn" target="_blank">色综合久久88色综合天天</a>| <a href="http://www.mingyixiu.cn" target="_blank">久久人人爽人爽人人爽av </a>| <a href="http://www.nbbook.com.cn" target="_blank">777久久精品一区二区三区无码</a>| <a href="http://www.baaag.cn" target="_blank">久久久久国产精品嫩草影院</a>| <a href="http://www.mingfeiyaye.cn" target="_blank">国产精品久久波多野结衣</a>| <a href="http://www.qvuavh.cn" target="_blank">久久人人爽人人爽人人片AV东京热</a>| <a href="http://www.1122sw.cn" target="_blank">香蕉久久一区二区不卡无毒影院</a>| <a href="http://www.hellorolex.cn" target="_blank">99久久精品国产一区二区</a>| <a href="http://www.wsnb.com.cn" target="_blank">久久久久国产亚洲AV麻豆</a>| <a href="http://www.tkfh.net.cn" target="_blank">久久这里只有精品首页</a>| <a href="http://www.gsm777.cn" target="_blank">AV无码久久久久不卡网站下载</a>| <a href="http://www.pingpangq.cn" target="_blank">亚洲色欲久久久久综合网</a>| <a href="http://www.zhhhtch.cn" target="_blank">国产精品免费久久</a>| <a href="http://www.gp402.cn" target="_blank">青青草原1769久久免费播放</a>| <a href="http://www.saxie.cn" target="_blank">69久久精品无码一区二区</a>| <a href="http://www.qilehu.cn" target="_blank">国产A级毛片久久久精品毛片</a>| <a href="http://www.zzouyi.cn" target="_blank">亚洲精品乱码久久久久久蜜桃 </a>| <a href="http://www.ndj2.cn" target="_blank">一级女性全黄久久生活片免费</a>| <a href="http://www.k5158.cn" target="_blank">国产69精品久久久久99</a>| <a href="http://www.262833.cn" target="_blank">久久精品国内一区二区三区</a>| <a href="http://www.xinwenzaocan.org.cn" target="_blank">无码人妻久久一区二区三区免费丨</a>| <a href="http://www.reeway.cn" target="_blank">噜噜噜色噜噜噜久久</a>| <a href="http://www.163hy.cn" target="_blank">伊人色综合久久天天网</a>| <a href="http://www.babaishu.cn" target="_blank">一级女性全黄久久生活片免费 </a>| <a href="http://www.hsjituan.com.cn" target="_blank">久久精品视频网</a>| <a href="http://www.shangxinju.cn" target="_blank">久久婷婷国产麻豆91天堂</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>