日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Chrome网络库的请求处理

發布時間:2024/4/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Chrome网络库的请求处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ResourceLoaderAndroid::start
->WebUrlLoader::start (或者 clientAndroid->webFrame()->startLoadingResource)
->WebUrlLoaderClient::start

? ? ? ?創建一個網絡線程來處理請求

->thread->message_loop()->PostTask(FROM_HERE, NewRunnableMethod(m_request.get(), &WebRequest::start));

---------------------------------------------------------------------------------

網絡線程

->WebRequest::start
->net::URLRequest::start
根據URL類型創建不同的Job,并啟動URLRequestXXXXJob::Start

【Http】
->URLRequestHttpJob::Start
->AddExtraHeaders()
->取Cookie

->創建HttpCacheTransaction

HttpCacheTransaction

? ? ? ->啟動事務HttpCache::Transaction::Start

? ? ? ->循環Doloop() 狀態機

? ? ? ?do {
? ? ? ? ? switch (state) {
? ? ? ? ? ? ? ?DoGetBackend();
? ? ? ? ? ? ? ??? ? ? ?DoGetBackendComplete(rv);
? ? ? ? ? ? ? ?DoSendRequest();
? ? ? ? ? ? ? ??? ? ? ?DoSendRequestComplete(rv);
? ? ? ? ? ? ? ?DoSuccessfulSendRequest();
? ? ? ? ? ? ? ?DoNetworkRead();
? ? ? ? ? ? ? ??? ? ? ?DoNetworkReadComplete(rv);
? ? ? ? ? ? ? ?DoInitEntry();
? ? ? ? ? ? ? ?DoOpenEntry();
? ? ? ? ? ? ? ??? ? ? ?DoOpenEntryComplete(rv);
? ? ? ? ? ? ? ?DoCreateEntry();
? ? ? ? ? ? ? ??? ? ? ?DoCreateEntryComplete(rv);
? ? ? ? ? ? ? ?DoDoomEntry();
? ? ? ? ? ? ? ??? ? ? ?DoDoomEntryComplete(rv);
? ? ? ? ? ? ? ?DoAddToEntry();
? ? ? ? ? ? ? ??? ? ? ?DoAddToEntryComplete(rv);
? ? ? ? ? ? ? ?DoNotifyBeforeSendHeaders();
? ? ? ? ? ? ? ??? ? ? ?DoNotifyBeforeSendHeadersComplete(rv);
? ? ? ? ? ? ? ?DoStartPartialCacheValidation();
? ? ? ? ? ? ? ?DoCompletePartialCacheValidation(rv);
? ? ? ? ? ? ? ?DoUpdateCachedResponse();
? ? ? ? ? ? ? ??? ? ? ?DoUpdateCachedResponseComplete(rv);
? ? ? ? ? ? ? ?DoOverwriteCachedResponse();
? ? ? ? ? ? ? ?DoTruncateCachedData();
? ? ? ? ? ? ? ??? ? ? ?DoTruncateCachedDataComplete(rv);
? ? ? ? ? ? ? ?DoTruncateCachedMetadata();
? ? ? ? ? ? ? ??? ? ? ?DoTruncateCachedMetadataComplete(rv);
? ? ? ? ? ? ? ?DoPartialHeadersReceived();
? ? ? ? ? ? ? ?DoCacheReadResponse();
? ? ? ? ? ? ? ??? ? ? ?DoCacheReadResponseComplete(rv);
? ? ? ? ? ? ? ?DoCacheWriteResponse();
? ? ? ? ? ? ? ?DoCacheWriteTruncatedResponse();
? ? ? ? ? ? ? ??? ? ? ?DoCacheWriteResponseComplete(rv);
? ? ? ? ? ? ? ?DoCacheReadMetadata();
? ? ? ? ? ? ? ??? ? ? ?DoCacheReadMetadataComplete(rv);
? ? ? ? ? ? ? ?DoCacheQueryData();
? ? ? ? ? ? ? ??? ? ? ?DoCacheQueryDataComplete(rv);
? ? ? ? ? ? ? ?DoCacheReadData();
? ? ? ? ? ? ? ??? ? ? ?DoCacheReadDataComplete(rv);
? ? ? ? ? ? ? ?DoCacheWriteData(rv);
? ? ? ? ? ? ? ??? ? ? ?DoCacheWriteDataComplete(rv);
? ? ? ? ? }
? ? ? ? } while?(rv != ERR_IO_PENDING && next_state_ != STATE_NONE);


->創建HttpNeworkTransaction ? (HttpCacheTransaction::DoSendRequest)

HttpNeworkTransaction
? ? ? ->啟動事務HttpNetworkTransaction::Start

? ? ? ->循環DoLoop() 狀態機

? ? ? ?do {
? ? ? ? ? switch (state) {
? ? ? ? ? ? ? ?DoCreateStream();
? ? ? ? ? ? ? ? ? ? ? ?DoCreateStreamComplete(rv);
? ? ? ? ? ? ? ?DoInitStream();
? ? ? ? ? ? ? ? ? ? ? ?DoInitStreamComplete(rv);
? ? ? ? ? ? ? ?DoGenerateProxyAuthToken();
? ? ? ? ? ? ? ? ? ? ? ?DoGenerateProxyAuthTokenComplete(rv);
? ? ? ? ? ? ? ?DoGenerateServerAuthToken();
? ? ? ? ? ? ? ? ? ? ? ?DoGenerateServerAuthTokenComplete(rv);
? ? ? ? ? ? ? ?DoBuildRequest();
? ? ? ? ? ? ? ? ? ? ? ?DoBuildRequestComplete(rv);
? ? ? ? ? ? ? ?DoSendRequest(); ? ? Socket阻塞發送
? ? ? ? ? ? ? ? ? ? ? ?DoSendRequestComplete(rv);
? ? ? ? ? ? ? ?DoReadHeaders(); ? ?Socket阻塞讀取
? ? ? ? ? ? ? ? ? ? ? ?DoReadHeadersComplete(rv);
? ? ? ? ? ? ? ?DoReadBody(); ? ? ? ? Socket阻塞讀取
? ? ? ? ? ? ? ? ? ? ? ?DoReadBodyComplete(rv);
? ? ? ? ? ? ? ?DoDrainBodyForAuthRestart();
? ? ? ? ? ? ? ? ? ? ? ?DoDrainBodyForAuthRestartComplete(rv);
? ? ? ? ? }
? ? ? ? } while (rv != ERR_IO_PENDING && next_state_ != STATE_NONE);


【Ftp】

總結

以上是生活随笔為你收集整理的Chrome网络库的请求处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。