亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sbinetchannel.cpp

?? OSB-PIK-OpenVXI-3.0.0源代碼 “中國XML論壇 - 專業的XML技術討論區--XML在語音技術中的應用”
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
  VXIinetResult SBinetChannel::staticWrite(/* [IN]  */ VXIinetInterface*      pThis,                            /* [OUT] */ const VXIbyte*   pBuffer,                            /* [IN]  */ VXIulong         nBuflen,                            /* [OUT] */ VXIulong*        pnWritten,                            /* [IN]  */ VXIinetStream*   pStream      ) {   SBinetChannel* chan = static_cast<SBinetChannel*>(pThis);   if (!chan)   {     return (VXIinet_RESULT_INVALID_ARGUMENT);   }    VXIinetResult rc = VXIinet_RESULT_SUCCESS;   SBinetLogFunc apiTrace(chan->GetLog(),                          chan->GetDiagBase() + MODULE_SBINET_API_TAGID,                          L"SBinetChannel::Write", (int *) &rc,                          L"entering: 0x%p, 0x%p, %lu, 0x%p, 0x%p",                          pThis, pBuffer, nBuflen, pnWritten, pStream);    if (pStream == NULL)   {     chan->Error(200, L"%s%s", L"Operation", L"Write");     return (rc = VXIinet_RESULT_INVALID_ARGUMENT);   }    rc = (pStream->Write)(pBuffer, nBuflen, pnWritten);    if ((rc != VXIinet_RESULT_SUCCESS) &&       (rc != VXIinet_RESULT_WOULD_BLOCK))   {     chan->Error(207,L"%s%d",L"rc",rc);   }    return rc; }  /*  * Call Channel method  */ VXIinetResult SBinetChannel::staticSetCookieJar( /* [IN]  */ VXIinetInterface*      pThis,                                    /* [IN]  */ const VXIVector*       pJar ) {   SBinetChannel* chan = static_cast<SBinetChannel*>(pThis);   if (!chan)   {     return (VXIinet_RESULT_INVALID_ARGUMENT);   }    VXIinetResult rc = VXIinet_RESULT_SUCCESS;   SBinetLogFunc apiTrace (chan->GetLog(), chan->GetDiagBase() + 			  MODULE_SBINET_API_TAGID, 			  L"SBinetChannel::SetCookieJar", (int *) &rc, 			  L"entering: 0x%p, 0x%p", pThis, pJar);    rc = chan->setCookieJar(pJar);   if (rc != VXIinet_RESULT_SUCCESS) {     chan->Error(208,L"%s%d",L"rc",rc);   }   return (rc); }  /*  * Call Channel method  */ VXIinetResult SBinetChannel::staticGetCookieJar( /* [IN]  */ VXIinetInterface*      pThis,                                    /* [OUT] */ VXIVector**            ppJar,                                    /* [OUT] */ VXIbool*               pfChanged   ) {   SBinetChannel* chan = static_cast<SBinetChannel*>(pThis);   if (!chan)   {     return (VXIinet_RESULT_INVALID_ARGUMENT);   }    VXIinetResult rc = VXIinet_RESULT_SUCCESS;   SBinetLogFunc apiTrace (chan->GetLog(), chan->GetDiagBase() + 			  MODULE_SBINET_API_TAGID, 			  L"SBinetChannel::GetCookieJar", (int *) &rc, 			  L"entering: 0x%p, 0x%p, 0x%p", pThis, ppJar, 			  pfChanged);    rc = chan->getCookieJar(ppJar,pfChanged);   if (rc != VXIinet_RESULT_SUCCESS)   {     chan->Error(209, L"%s%d", L"rc", rc);   }   return (rc); }   // Init class at startup VXIinetResult SBinetChannel::init(const VXIMap *configParams, const SWIutilLogger *logger) {   // User agent   const VXIchar *userAgent = SBinetUtils::getString(configParams, SBINET_USER_AGENT_NAME);    if (!userAgent || !*userAgent)   {     // Have to parse the user agent name #ifdef OPENVXI      userAgent = OSBINET_USER_AGENT_NAME_DEFAULT; #else      userAgent = SBINET_USER_AGENT_NAME_DEFAULT; #endif   }   if (!_userAgent)     _userAgent = new SBinetNString(userAgent);   else     _userAgent->operator=(userAgent);    // Proxy rules.   const VXIValue * tmp = VXIMapGetProperty(configParams, SBINET_PROXY_RULES);   if (tmp != NULL && VXIValueGetType(tmp) == VALUE_VECTOR)   {     const VXIVector *proxyRules = (const VXIVector *) tmp;     VXIunsigned n = VXIVectorLength(proxyRules);     for (VXIunsigned i = 0; i < n; i++)     {       tmp = VXIVectorGetElement(proxyRules, i);       if (tmp != NULL && VXIValueGetType(tmp) == VALUE_STRING)       {         SBinetNString rule = VXIStringCStr((const VXIString *) tmp);         SBinetProxyMatcher *p = SBinetProxyMatcher::createMatcher(rule.c_str(), logger);         if (p != NULL)         {           _proxyMatcherList.addLast(p);         }       }     }   }    // Extension rules   if (! _extensionRulesMutex)     VXItrdMutexCreate(&_extensionRulesMutex);    if (VXItrdMutexLock(_extensionRulesMutex) == VXItrd_RESULT_SUCCESS)   {     if (_extensionRules)       VXIMapDestroy(&_extensionRules);      const VXIValue *tmp = VXIMapGetProperty(configParams, SBINET_EXTENSION_RULES);     const VXIMap *extensionRules = NULL;     if (tmp != NULL && VXIValueGetType(tmp) == VALUE_MAP)       extensionRules = (const VXIMap *) tmp;      if (extensionRules)       _extensionRules = VXIMapClone(extensionRules);     else       _extensionRules = NULL;      VXItrdMutexUnlock(_extensionRulesMutex);   }    VXIint32 itmp;    // page load time out.   itmp = SBINET_PAGE_LOADING_TIMEOUT_DEFAULT;   SBinetUtils::getInteger(configParams, SBINET_PAGE_LOADING_TIMEOUT, itmp);   setPageLoadTimeout(itmp);    // freshness fraction   VXIflt32 ftmp = (VXIflt32) SBINET_FRESHNESS_FRACTION_DEFAULT;   SBinetUtils::getFloat(configParams, SBINET_FRESHNESS_FRACTION, ftmp);   setFreshnessFraction(ftmp);    // freshness lifetime   itmp = SBINET_FRESHNESS_LIFETIME_DEFAULT;   SBinetUtils::getInteger(configParams, SBINET_FRESHNESS_LIFETIME, itmp);   setFreshnessLifetime((time_t) itmp);    // max lifetime   itmp = SBINET_MAX_LIFETIME_DEFAULT;   SBinetUtils::getInteger(configParams, SBINET_MAX_LIFETIME, itmp);   setMaxLifetime((time_t) itmp);    // post continue timeout.   itmp = SBINET_POST_CONTINUE_TIMEOUT_DEFAULT;   SBinetUtils::getInteger(configParams, SBINET_POST_CONTINUE_TIMEOUT, itmp);   setPostContinueTimeout(itmp);    const VXIchar* defaultMimeType = SBinetUtils::getString(configParams, SBINET_DEFAULT_MIME_TYPE);   if (!defaultMimeType)     defaultMimeType = L"application/octet-stream";    if (!_defaultMimeType)     _defaultMimeType = new SBinetString(defaultMimeType);   else     _defaultMimeType->operator=(defaultMimeType);    itmp = 1;   SBinetUtils::getInteger(configParams, SBINET_PERSISTENT_CONNECTIONS, itmp);   setUsePersistentConnections(itmp != 0);    if (SBinetSSLsocket::initialize() == 0)     return VXIinet_RESULT_SUCCESS;   else     return VXIinet_RESULT_PLATFORM_ERROR; }   // Shutdown class void SBinetChannel::shutdown() {   delete _userAgent;   _userAgent = NULL;    if (VXItrdMutexLock(_extensionRulesMutex) == VXItrd_RESULT_SUCCESS)   {     if (_extensionRules)       VXIMapDestroy(&_extensionRules);      VXItrdMutexUnlock(_extensionRulesMutex);     VXItrdMutexDestroy(&_extensionRulesMutex);   }    SBinetSSLsocket::shutdown(); }   void SBinetChannel::addExtensionRule(const VXIchar* ext, 				     const VXIchar* mimeType) {   if (! mimeType) return;    if (VXItrdMutexLock(_extensionRulesMutex) == VXItrd_RESULT_SUCCESS) {     if (! _extensionRules)       _extensionRules = VXIMapCreate();      if (_extensionRules)       VXIMapSetProperty(_extensionRules, ext, 			(VXIValue *) VXIStringCreate(mimeType));     VXItrdMutexUnlock(_extensionRulesMutex);   } }   const VXIchar *SBinetChannel::mapExtension(const VXIchar* ext) {   if (ext == NULL) return NULL;    const VXIchar *ret = NULL;   if (VXItrdMutexLock(_extensionRulesMutex) == VXItrd_RESULT_SUCCESS) {     if (_extensionRules)       ret = SBinetUtils::getString(_extensionRules, ext);     VXItrdMutexUnlock(_extensionRulesMutex);   }    return ret; }  const char *SBinetChannel::getUserAgent() {   return _userAgent ? _userAgent->c_str() : ""; }  const VXIchar *SBinetChannel::getDefaultMimeType() {   return _defaultMimeType ? _defaultMimeType->c_str() : L""; }  VXIlogResult SBinetChannel::echoStreamWrite(const void *buffer, size_t buflen) {   VXIlogResult rc = VXIlog_RESULT_SUCCESS;    VXIulong totWritten = 0;   while ((rc == VXIlog_RESULT_SUCCESS) && (totWritten < buflen)) {     VXIulong nWritten = 0;     rc = _pVXILog->ContentWrite(_pVXILog,                                 reinterpret_cast<const VXIbyte *>(buffer) + totWritten,                                 buflen - totWritten, &nWritten, _echoStream);     totWritten += nWritten;   }    return rc; }  // void SBinetChannel::eraseCookie(SBinetChannel::CookieList::iterator &vi) // { // #if defined(__GNUC__) && ((__GNUC__ <= 2) || (__GLIBCPP__ <= 20011023)) || (_decunix_) //   // Old STL has erase return void //   CookieList::iterator vi2 = vi; //   vi2++; //   _cookieList.erase (vi); //   vi = vi2; // #else //   // ISO C++ standard has erase return an iterator to the next //   // item //   vi = _cookieList.erase (vi); // #endif // }  void SBinetChannel::setUsePersistentConnections(bool flag) {   _usePersistentConnections = flag; }  bool SBinetChannel::getUsePersistentConnections() {   return _usePersistentConnections; }  bool SBinetChannel::setPageLoadTimeout(VXIint32 timeout) {   if (timeout <= 0)     return false;    _pageLoadTimeout = timeout;   return true; }   VXIint32 SBinetChannel::getPageLoadTimeout() {   return _pageLoadTimeout; }  bool SBinetChannel::setPostContinueTimeout(VXIint32 timeout) {   if (timeout <= 0)     return false;    _postContinueTimeout = timeout;   return true; }   VXIint32 SBinetChannel::getPostContinueTimeout() {   return _postContinueTimeout; }  time_t SBinetChannel::getFreshnessLifetime() {   return _freshnessLifetime; }  bool SBinetChannel::setFreshnessLifetime(time_t freshnessLifetime) {   if (freshnessLifetime >= (time_t) 0)   {     _freshnessLifetime = freshnessLifetime;     return true;   }   return false; }  double SBinetChannel::getFreshnessFraction() {   return _freshnessFraction; }  bool SBinetChannel::setFreshnessFraction(double freshnessFraction) {   if (freshnessFraction >= 0.0 && freshnessFraction <= 1.0)   {     _freshnessFraction = freshnessFraction;     return true;   }   return false; }  time_t SBinetChannel::getMaxLifetime() {   return _maxLifetime; }  bool SBinetChannel::setMaxLifetime(time_t maxLifetime) {   if (maxLifetime >= (time_t) 0)   {     _maxLifetime = maxLifetime;     return true;   }   return false; }  SBinetProxyMatcher *SBinetChannel::getProxyMatcher(const char *domain,                                                    const char *path) {   SWIList::Iterator iter(_proxyMatcherList);    while (iter.hasNext())   {     SBinetProxyMatcher *p = static_cast<SBinetProxyMatcher *>(iter.next());     if (p->matches(domain, path))     {       return p;     }   }    return NULL; }  SBinetHttpConnection *SBinetChannel::getHttpConnection(const SBinetURL *url,                                                        const VXIMap *properties) {   VXIint32 newConnection = !getUsePersistentConnections();    const char *hostname = url->getNHost();   const char *path = url->getNPath();    int port = url->getPort();    SBinetUtils::getInteger(properties, INET_NEW_CONNECTION, newConnection);    const SBinetProxyMatcher *proxyMatcher = getProxyMatcher(hostname, path);    const char *proxyServer = NULL;   if (proxyMatcher != NULL)     proxyServer = proxyMatcher->getProxyServer();    // Ignore empty proxy server.   if (proxyServer && !*proxyServer)     proxyServer = NULL;    bool usesProxy;   if (proxyServer)   {     hostname = proxyServer;     port = proxyMatcher->getProxyPort();     usesProxy = true;   }   else     usesProxy = false;    SWIipAddress remoteAddress(hostname, port, this);    // FIXME: This code should be protected by a Mutex once we have the cleaning   // thread   SBinetHttpConnection *conn = (SBinetHttpConnection *) _connectionMap.remove(remoteAddress);    if (newConnection && conn)   {     delete conn;     conn = NULL;   }   // FIXME: End of code section that should be protected.    if (!conn)   {     char buf[10];     sprintf(buf, "%d", _connectionCount++);     conn = new SBinetHttpConnection(url->getProtocol(), remoteAddress,                                     usesProxy, this, buf);   }    return conn; }  void SBinetChannel::putHttpConnection(SBinetHttpConnection *connection) {   // Ideally, we should check whether we own the connection.    // FIXME: This code should be protected by a Mutex once we have the cleaning  thread   const SWIipAddress *addr = connection->getRemoteAddress();    SBinetHttpConnection *oldconn = (SBinetHttpConnection *)     _connectionMap.putValue(*addr, connection);   // FIXME: End of code section that should be protected.    delete oldconn; }  void SBinetChannel::closeHttpConnections() {   // Iterate saved connections and dispose of them all   SWIHashMap::Iterator it(_connectionMap);   while (it.hasNext()) {     const SBinetHttpConnection *conn = static_cast<const SBinetHttpConnection*>(it.next()->getValue());     delete conn;   } }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲大型综合色站| 国产精品香蕉一区二区三区| 日韩精品午夜视频| 国产一区不卡视频| 欧美性淫爽ww久久久久无| 久久先锋影音av鲁色资源网| 亚洲影视在线播放| 成人精品高清在线| 日韩欧美亚洲国产另类| 一个色妞综合视频在线观看| 国产a视频精品免费观看| 欧美在线视频日韩| 亚洲人成人一区二区在线观看| 国产乱人伦偷精品视频免下载 | 亚洲激情自拍偷拍| 国产美女精品人人做人人爽| 91麻豆精品国产综合久久久久久 | 久久99精品一区二区三区| 不卡的av在线播放| 久久免费视频一区| 久久99热99| 日韩午夜在线影院| 日产国产欧美视频一区精品| 欧美三级韩国三级日本三斤| 国产精品视频第一区| 国产麻豆一精品一av一免费 | 国产精品激情偷乱一区二区∴| 久久久五月婷婷| 久久se精品一区精品二区| 欧美电影在哪看比较好| 亚洲成人av资源| 欧美久久一二三四区| 一区二区理论电影在线观看| 色综合色狠狠天天综合色| 国产精品高潮呻吟| 91一区二区三区在线观看| 亚洲欧美成人一区二区三区| 99riav久久精品riav| 综合分类小说区另类春色亚洲小说欧美 | 欧美人与性动xxxx| 亚洲国产美女搞黄色| 欧美在线观看18| 亚洲成人综合在线| 91精品国产欧美一区二区| 日本va欧美va瓶| 精品国产一区二区三区不卡| 国产黄色精品网站| 国产精品久久二区二区| 91麻豆精品秘密| 亚洲国产另类av| 91精品国产综合久久精品app| ww久久中文字幕| 成人av电影在线播放| 亚洲精品久久久蜜桃| 欧美日韩综合一区| 美腿丝袜一区二区三区| 国产拍揄自揄精品视频麻豆| 成人的网站免费观看| 亚洲综合色视频| 91麻豆精品国产91久久久资源速度| 中日韩免费视频中文字幕| 99久久婷婷国产综合精品| 午夜电影网一区| 26uuu色噜噜精品一区二区| 国产成人欧美日韩在线电影| 亚洲欧美一区二区视频| 欧美人妇做爰xxxⅹ性高电影| 亚洲少妇中出一区| 欧美亚洲一区二区在线观看| 日产国产欧美视频一区精品| 国产天堂亚洲国产碰碰| 欧美亚洲高清一区二区三区不卡| 亚洲品质自拍视频| 欧美久久久久免费| 国产不卡在线播放| 五月天婷婷综合| 国产精品国产自产拍高清av | 日韩专区在线视频| 国产午夜精品在线观看| 欧美天堂一区二区三区| 国产精品18久久久久久久久| 中文字幕亚洲成人| 久久伊人中文字幕| 欧美老肥妇做.爰bbww| 91丨porny丨国产入口| 经典三级在线一区| 午夜伦理一区二区| 亚洲裸体在线观看| 国产精品日韩精品欧美在线| 日韩欧美电影一区| 在线观看日韩一区| 成人少妇影院yyyy| 久久国产生活片100| 亚洲一区二区三区国产| 国产精品久久久久久亚洲伦 | 亚洲激情在线播放| 欧美大片一区二区| 欧美日韩国产天堂| 91美女蜜桃在线| www.欧美日韩国产在线| 国产成人午夜电影网| 91美女片黄在线观看91美女| 国产电影一区二区三区| 久久不见久久见免费视频7| 日韩av成人高清| 亚洲国产成人91porn| 亚洲图片一区二区| 亚洲天堂福利av| 最新国产精品久久精品| 国产精品视频九色porn| 国产精品免费视频网站| 国产天堂亚洲国产碰碰| 久久精品亚洲精品国产欧美| 久久久亚洲高清| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲一区二区成人在线观看| 国产精品成人一区二区三区夜夜夜| 一本色道a无线码一区v| eeuss鲁一区二区三区| 国产精品夜夜嗨| 福利电影一区二区| 国产91高潮流白浆在线麻豆 | 国产精品久久久久久久久免费桃花| 91丨porny丨户外露出| 91看片淫黄大片一级| 色综合久久中文综合久久牛| 91亚洲精品久久久蜜桃| 色琪琪一区二区三区亚洲区| 欧美在线免费观看视频| 欧美亚洲愉拍一区二区| 欧美日韩精品电影| 日韩免费高清av| 久久久久久久久一| 欧美激情综合五月色丁香| 国产精品乱人伦| 亚洲三级在线免费观看| 丝袜亚洲另类欧美| 久久99九九99精品| av欧美精品.com| 91.xcao| 欧美韩日一区二区三区| 亚洲你懂的在线视频| 丝袜美腿亚洲综合| 国产一区二区三区在线观看免费视频 | 69堂精品视频| 久久精品在线免费观看| 成人免费在线播放视频| 天天综合日日夜夜精品| 激情av综合网| 色婷婷精品大在线视频| 91精品国产乱| 国产精品护士白丝一区av| 五月婷婷激情综合| 丁香婷婷综合激情五月色| 欧美三级电影在线看| 国产婷婷精品av在线| 亚洲福利电影网| 丁香激情综合五月| 欧美日韩精品福利| 中文字幕欧美日韩一区| 日韩av在线播放中文字幕| 91亚洲精品乱码久久久久久蜜桃 | 精品一区二区久久久| 99久久婷婷国产综合精品| 91精品国产综合久久久久久久久久| 一本大道综合伊人精品热热| 91精品国产色综合久久不卡电影 | 日本道免费精品一区二区三区| 粉嫩aⅴ一区二区三区四区| 91麻豆6部合集magnet| 日韩欧美第一区| 亚洲一二三四在线| 波多野结衣欧美| 欧美大片顶级少妇| 天堂蜜桃91精品| 一本一本大道香蕉久在线精品| 91久久久免费一区二区| 欧美成人性福生活免费看| 亚洲永久精品大片| av成人动漫在线观看| 久久久久青草大香线综合精品| 国产三级久久久| 91国模大尺度私拍在线视频| 国产亚洲综合性久久久影院| 日韩精品一级中文字幕精品视频免费观看 | 一本久久a久久免费精品不卡| www.亚洲免费av| 久久久久久免费毛片精品| 日韩电影在线免费| 538在线一区二区精品国产| 中文字幕一区二| 成人国产精品免费| 久久久久久影视| 国产精品影视在线观看| 欧美电视剧免费观看| 蜜臀av一区二区在线免费观看| 国产精品77777| 精品久久久久久久人人人人传媒 | 日韩精品一区二区三区在线 | 日韩精品一区二区三区四区视频|