Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Side by Side Diff: net/docs/life-of-a-url-request.md

Issue 1240983002: life-of-a-url-request.md typo fix: HttpResponseParser -> HttpStreamParser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Life of a URLRequest 1 # Life of a URLRequest
2 2
3 This document is intended as an overview of the core layers of the network 3 This document is intended as an overview of the core layers of the network
4 stack, their basic responsibilities, how they fit together, and where some of 4 stack, their basic responsibilities, how they fit together, and where some of
5 the pain points are, without going into too much detail. Though it touches a 5 the pain points are, without going into too much detail. Though it touches a
6 bit on child processes and the content/loader stack, the focus is on net/ 6 bit on child processes and the content/loader stack, the focus is on net/
7 itself. 7 itself.
8 8
9 It's particularly targeted at people new to the Chrome network stack, but 9 It's particularly targeted at people new to the Chrome network stack, but
10 should also be useful for team members who may be experts at some parts of the 10 should also be useful for team members who may be experts at some parts of the
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 * AsyncResourceHandler informs the ResourceDispatcher of each read using 258 * AsyncResourceHandler informs the ResourceDispatcher of each read using
259 cross-process IPCs. 259 cross-process IPCs.
260 * ResourceDispatcher tells the AsyncResourceHandler when it's done with the 260 * ResourceDispatcher tells the AsyncResourceHandler when it's done with the
261 data with each read, so it knows when parts of the buffer can be reused. 261 data with each read, so it knows when parts of the buffer can be reused.
262 262
263 Without waiting to hear back from the ResourceDispatcher, the ResourceLoader 263 Without waiting to hear back from the ResourceDispatcher, the ResourceLoader
264 tells its ResourceHandler chain to allocate memory to receive the response 264 tells its ResourceHandler chain to allocate memory to receive the response
265 body. The AsyncResourceHandler creates a 512KB ring buffer of shared memory, 265 body. The AsyncResourceHandler creates a 512KB ring buffer of shared memory,
266 and then passes the first 32KB of it to the ResourceLoader for the first read. 266 and then passes the first 32KB of it to the ResourceLoader for the first read.
267 The ResourceLoader then passes a 32KB body read request down through the 267 The ResourceLoader then passes a 32KB body read request down through the
268 URLRequest all the way down to the HttpResponseParser. Once some data is read, 268 URLRequest all the way down to the HttpStreamParser. Once some data is read,
269 possibly less than 32KB, the number of bytes read makes its way back to the 269 possibly less than 32KB, the number of bytes read makes its way back to the
270 AsyncResourceHandler, which passes the shared memory buffer and the offset and 270 AsyncResourceHandler, which passes the shared memory buffer and the offset and
271 amount of data read to the renderer process. 271 amount of data read to the renderer process.
272 272
273 The AsyncResourceHandler relies on ACKs from the renderer to prevent it from 273 The AsyncResourceHandler relies on ACKs from the renderer to prevent it from
274 overwriting data that the renderer has yet to consume. This process repeats 274 overwriting data that the renderer has yet to consume. This process repeats
275 until the response body is completely read. 275 until the response body is completely read.
276 276
277 ### URLRequest is destroyed 277 ### URLRequest is destroyed
278 278
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 connection is established, the first usable connection goes to the highest 503 connection is established, the first usable connection goes to the highest
504 priority socket request. 504 priority socket request.
505 505
506 ## Non-HTTP Schemes 506 ## Non-HTTP Schemes
507 507
508 The URLRequestJobFactory has a ProtocolHander for each supported scheme. 508 The URLRequestJobFactory has a ProtocolHander for each supported scheme.
509 Non-HTTP URLRequests have their own ProtocolHandlers. Some are implemented in 509 Non-HTTP URLRequests have their own ProtocolHandlers. Some are implemented in
510 net/, (like FTP, file, and data, though the renderer handles some data URLs 510 net/, (like FTP, file, and data, though the renderer handles some data URLs
511 internally), and others are implemented in content/ or chrome (like blob, 511 internally), and others are implemented in content/ or chrome (like blob,
512 chrome, and chrome-extension). 512 chrome, and chrome-extension).
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698