Index: components/offline_pages/core/prefetch/README.md |
diff --git a/components/offline_pages/core/prefetch/README.md b/components/offline_pages/core/prefetch/README.md |
index 46e5a0e55637d4c3cc8de14eb7c0077d220dd5c5..bd1baf08a1321ac7f87e9e8c59a1f8d0f6f51010 100644 |
--- a/components/offline_pages/core/prefetch/README.md |
+++ b/components/offline_pages/core/prefetch/README.md |
@@ -1,6 +1,28 @@ |
-# Prefetching Offline Pages: development guidelines |
+# Prefetching Offline Pages |
-* Implementations that are injected dependencies should always provide |
- lightweight construction and postpone heavier initialization (i.e. DB |
+## Architecture overview |
+ |
+### PrefetchService |
+ |
+Is the ownership holder for the main components of the prefetching system and |
+controls their lifetime. |
+ |
+### PrefetchDispatcher |
+ |
+Manages the prefetching pipeline tasks. It receives signals from external |
+clients and creates the appropriate tasks to execute them. It _might_ at some |
+point execute advanced task management operations like canceling queued tasks or |
+changing their order of execution. |
+ |
+### \*Task(s) (i.e. AddUniqueUrlsTask) |
+ |
+They are the main wrapper of pipeline steps and interact with different |
+abstracted components (Downloads, persistent store, GCM, etc) to execute them. |
+They implement TaskQueue's Task API so that they can be exclusively executed. |
+ |
+## Development guidelines |
+ |
+* Implementations that are injected dependencies during service creation should |
+ have lightweight construction and postpone heavier initialization (i.e. DB |
connection) to a later moment. Lazy initialization upon first actual usage is |
recommended. |