网络栈加载完数据发送消息时的堆栈
来源:互联网 发布:知乎大脑的结构 编辑:程序博客网 时间:2024/06/16 17:40
19. 此时主资源的加载到此结束。
再来看看thirdparty/WebKit下的文件DocumentLoader.cpp中方法:
DocumentLoader::startLoadingMainResource()
我们之前分析的都是:该方法中的代码:
m_mainResource = m_fetcher->fetchMainResource(cachedResourceRequest, m_substituteData);
该方法中,之后有代码:m_mainResource->addClient(this);
10. 上面提到的代码执行的thirdparty/WebKIt下文件RawResource.cpp中方法:RawResource::appendData
该方法中有代码:
该方法中有代码:
- while (RawResourceClient* c = w.next())
- c->dataReceived(this, data, length);
这里执行的是DocumentLoader.cpp中方法:DocumentLoader::dataReceived
该方法中又会调用同文件中方法:DocumentLoader::commitData
9. 上面方法调用的是文件:thirdparty/WebKIt下文件ResourceLoader.cpp中方法:ResourceLoader::didReceiveData该方法中有代码: m_resource->appendData(data, length);
8. 上面提到的代码调用的是 content目录下文件:web_url_loader_impl.cc中方法:
WebURLLoaderImpl::Context::OnReceivedData
该方法中有代码: client_->didReceiveData(loader_, data, data_length, encoded_data_length);
- while (RawResourceClient* c = w.next())
- c->dataReceived(this, data, length);
这里执行的是DocumentLoader.cpp中方法:DocumentLoader::dataReceived
该方法中又会调用同文件中方法:DocumentLoader::commitData
--------------------------------------------------------------------------------
void ResourceDispatcher::OnReceivedData( request_info->peer->OnReceivedData(
- request_info->peer->OnReceivedData(
- data_ptr, data_length, encoded_data_length);
void ResourceDispatcher::DispatchMessage(const IPC::Message& message) {
child/resource_dispatcher.cc IPC_MESSAGE_HANDLER(ResourceMsg_DataReceived, OnReceivedData)
#2 0x00007fca0bb3841f in content::AsyncResourceHandler::OnReadCompleted(int, bool*) ()
from /opt/BrowserCrawl/cef/libcef.so
filter->Send(new ResourceMsg_DataReceived(
GetRequestID(), data_offset, bytes_read, encoded_data_length));
from /opt/BrowserCrawl/cef/libcef.so
#4 0x00007fca0bb3a0e6 in content::BufferedResourceHandler::ProcessResponse(bool*) ()
from /opt/BrowserCrawl/cef/libcef.so
#5 0x00007fca0bb3a5df in content::BufferedResourceHandler::OnReadCompleted(int, bool*) ()
from /opt/BrowserCrawl/cef/libcef.so
#6 0x00007fca0bb44780 in content::LayeredResourceHandler::OnReadCompleted(int, bool*) ()
from /opt/BrowserCrawl/cef/libcef.so
#7 0x00007fca0bb80040 in content::ResourceLoader::CompleteRead(int) () from /opt/BrowserCrawl/cef/libcef.so
#8 0x00007fca0bb7fda6 in content::ResourceLoader::OnReadCompleted(net::URLRequest*, int) ()
from /opt/BrowserCrawl/cef/libcef.so#9 0x00007fca0ae32f2b in net::URLRequest::NotifyReadCompleted(int) () from /opt/BrowserCrawl/cef/libcef.so
#10 0x00007fca0ae5e29c in net::URLRequestJob::NotifyReadComplete(int) () from /opt/BrowserCrawl/cef/libcef.so
#11 0x00007fca0ae54774 in net::URLRequestHttpJob::OnReadCompleted(int) () from /opt/BrowserCrawl/cef/libcef.so
bool URLRequestHttpJob::ReadRawData(
url_request/url_request_job.cc bool URLRequestJob::ReadRawDataHelper(IOBuffer* buf, int buf_size, int* bytes_read) {
bool URLRequestJob::ReadRawDataForFilter(int* bytes_read) {
bool URLRequestJob::ReadFilteredData(int* bytes_read) {
bool URLRequestJob::Read(IOBuffer* buf, int buf_size, int *bytes_read) {
url_request/url_request.cc bool URLRequest::Read(IOBuffer* dest, int dest_size, int* bytes_read) {
browser/loader/resource_loader.cc void ResourceLoader::ReadMore(int* bytes_read) {
void ResourceLoader::StartReading(bool is_continuation) {
void ResourceLoader::OnResponseStarted(net::URLRequest* unused) {
url_request/url_request.cc void URLRequest::NotifyResponseStarted() {
void URLRequestJob::NotifyHeadersComplete() {
url_request/url_request_http_job.cc void URLRequestHttpJob::NotifyHeadersComplete() {
void URLRequestHttpJob::SaveNextCookie() {
void URLRequestHttpJob::SaveCookiesAndNotifyHeadersComplete(int result) {
void URLRequestHttpJob::OnStartCompleted(int result) {
void URLRequestHttpJob::StartTransactionInternal() {
- 网络栈加载完数据发送消息时的堆栈
- Webkit 网络加载到DOM树创建的堆栈记录
- 网络数据传递之数据的发送
- 网络发送数据块的方法
- IOS网络编程发送数据的问题
- IOS网络编程发送数据的问题
- 网络发送消息 传送文件
- TCP网络通信实例--消息的发送与接收
- 高性能网络编程2----TCP消息的发送
- 高性能网络编程2----TCP消息的发送
- 高性能网络编程2----TCP消息的发送
- 高性能网络编程2----TCP消息的发送
- 高性能网络编程(二)----TCP消息的发送
- 高性能网络编程2----TCP消息的发送
- 高性能网络编程2----TCP消息的发送
- 高性能网络编程2--TCP消息的发送
- 高性能网络编程2----TCP消息的发送
- 高性能网络编程2----TCP消息的发送
- 更新CocoaPods的版本
- 动态规划实现组合数
- Web服务器虚拟目录
- hihocoder1178 计数
- Vim快捷键大全
- 网络栈加载完数据发送消息时的堆栈
- 线段覆盖
- HDU 2602 Bone Collector (01背包)
- 典型关联分析(CCA)算法原理
- sap保存时小写字母自动转大写字母的解决方法
- Android Studio 快捷键
- HDU 2824 The Euler function(欧拉函数)
- 使用Scala开发Apache Kafka应用入门
- 索引在联合查询中的作用