• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..12-Nov-2020-

proto/H12-Nov-2020-200167

store/H12-Nov-2020-2,0271,466

tasks/H12-Nov-2020-7,0495,135

BUILD.gnH A D07-Nov-20209.1 KiB281269

DEPSH A D07-Nov-2020363 1615

README.mdH A D07-Nov-20201.7 KiB4431

fake_suggestions_provider.ccH A D07-Nov-20201.2 KiB4227

fake_suggestions_provider.hH A D07-Nov-20201.4 KiB4226

generate_page_bundle_request.ccH A D07-Nov-20202.8 KiB7457

generate_page_bundle_request.hH A D07-Nov-20201.6 KiB5235

generate_page_bundle_request_unittest.ccH A D07-Nov-20206.6 KiB172135

get_operation_request.ccH A D07-Nov-20202.2 KiB6347

get_operation_request.hH A D07-Nov-20201.7 KiB5531

get_operation_request_unittest.ccH A D07-Nov-20204.8 KiB12892

mock_prefetch_item_generator.ccH A D07-Nov-20203.8 KiB12088

mock_prefetch_item_generator.hH A D07-Nov-20203.6 KiB9155

mock_thumbnail_fetcher.ccH A D07-Nov-2020467 156

mock_thumbnail_fetcher.hH A D07-Nov-2020840 2515

offline_metrics_collector.hH A D07-Nov-20202 KiB5316

prefetch_background_task.ccH A D07-Nov-20203.3 KiB8563

prefetch_background_task.hH A D07-Nov-20201.4 KiB4422

prefetch_background_task_handler.hH A D07-Nov-20201.6 KiB4918

prefetch_dispatcher.hH A D07-Nov-20206.3 KiB13950

prefetch_dispatcher_impl.ccH A D07-Nov-202022.6 KiB567442

prefetch_dispatcher_impl.hH A D07-Nov-20206.8 KiB156107

prefetch_dispatcher_impl_unittest.ccH A D07-Nov-202044.3 KiB1,168842

prefetch_download_flow_unittest.ccH A D07-Nov-20207.9 KiB210148

prefetch_downloader.hH A D07-Nov-20202.6 KiB7035

prefetch_downloader_impl.ccH A D07-Nov-202010.3 KiB256216

prefetch_downloader_impl.hH A D07-Nov-20203.6 KiB10668

prefetch_downloader_impl_unittest.ccH A D07-Nov-20207.5 KiB195157

prefetch_gcm_app_handler.ccH A D07-Nov-20202.2 KiB6948

prefetch_gcm_app_handler.hH A D07-Nov-20201.9 KiB5635

prefetch_gcm_app_handler_unittest.ccH A D07-Nov-20202.5 KiB7551

prefetch_gcm_handler.hH A D07-Nov-20201.1 KiB4019

prefetch_importer.ccH A D07-Nov-2020604 189

prefetch_importer.hH A D07-Nov-20201.9 KiB5321

prefetch_importer_impl.ccH A D07-Nov-20205.5 KiB150106

prefetch_importer_impl.hH A D07-Nov-20201.6 KiB5133

prefetch_importer_impl_unittest.ccH A D07-Nov-20205.6 KiB167127

prefetch_item.ccH A D07-Nov-2020619 2210

prefetch_item.hH A D07-Nov-20205.2 KiB14048

prefetch_item_unittest.ccH A D07-Nov-20205.3 KiB152101

prefetch_network_request_factory.hH A D07-Nov-20202.2 KiB6029

prefetch_network_request_factory_impl.ccH A D07-Nov-20206.4 KiB173134

prefetch_network_request_factory_impl.hH A D07-Nov-20203.7 KiB10366

prefetch_network_request_factory_impl_unittest.ccH A D07-Nov-202011.2 KiB268179

prefetch_prefs.ccH A D07-Nov-20204.7 KiB137109

prefetch_prefs.hH A D07-Nov-20203.2 KiB8228

prefetch_prefs_unittest.ccH A D07-Nov-20206 KiB158102

prefetch_proto_utils.ccH A D07-Nov-20204.5 KiB145115

prefetch_proto_utils.hH A D07-Nov-2020932 2511

prefetch_request_fetcher.ccH A D07-Nov-20206.4 KiB174141

prefetch_request_fetcher.hH A D07-Nov-20202.5 KiB7448

prefetch_request_fetcher_unittest.ccH A D07-Nov-20207.1 KiB185155

prefetch_request_operation_response_unittest.ccH A D07-Nov-202016.6 KiB432353

prefetch_request_test_base.ccH A D07-Nov-20204.1 KiB11388

prefetch_request_test_base.hH A D07-Nov-20202.3 KiB6746

prefetch_server_urls.ccH A D07-Nov-20203.2 KiB8660

prefetch_server_urls.hH A D07-Nov-20201.3 KiB3618

prefetch_server_urls_unittest.ccH A D07-Nov-20202.1 KiB5941

prefetch_service.hH A D07-Nov-20205.1 KiB13158

prefetch_service_impl.ccH A D07-Nov-20207.8 KiB220172

prefetch_service_impl.hH A D07-Nov-20205 KiB12079

prefetch_service_impl_unittest.ccH A D07-Nov-2020763 2212

prefetch_service_test_taco.ccH A D07-Nov-20208.3 KiB214174

prefetch_service_test_taco.hH A D07-Nov-20205.5 KiB13688

prefetch_types.ccH A D07-Nov-20209.9 KiB265236

prefetch_types.hH A D07-Nov-202012 KiB315148

server_forbidden_check_request.ccH A D07-Nov-20202.1 KiB5440

server_forbidden_check_request.hH A D07-Nov-20201.3 KiB2811

server_forbidden_check_request_unittest.ccH A D07-Nov-20203.9 KiB11581

stub_prefetch_service.ccH A D07-Nov-20202.1 KiB8658

stub_prefetch_service.hH A D07-Nov-20201.9 KiB4532

suggested_articles_observer.ccH A D07-Nov-20204.5 KiB141102

suggested_articles_observer.hH A D07-Nov-20202.7 KiB7642

suggested_articles_observer_unittest.ccH A D07-Nov-20205.5 KiB141111

suggestions_provider.ccH A D07-Nov-2020555 187

suggestions_provider.hH A D07-Nov-20202.3 KiB6630

test_download_client.ccH A D07-Nov-2020954 2918

test_download_client.hH A D07-Nov-20201.1 KiB3622

test_download_service.ccH A D07-Nov-20203.7 KiB11491

test_download_service.hH A D07-Nov-20202.2 KiB5840

test_offline_metrics_collector.hH A D07-Nov-20201.1 KiB3219

test_prefetch_dispatcher.ccH A D07-Nov-20202.8 KiB8863

test_prefetch_dispatcher.hH A D07-Nov-20202.8 KiB7356

test_prefetch_downloader.ccH A D07-Nov-20201.7 KiB5334

test_prefetch_downloader.hH A D07-Nov-20202.1 KiB6043

test_prefetch_gcm_handler.ccH A D07-Nov-2020678 2212

test_prefetch_gcm_handler.hH A D07-Nov-2020936 3017

test_prefetch_importer.ccH A D07-Nov-2020745 2412

test_prefetch_importer.hH A D07-Nov-2020952 2916

test_prefetch_network_request_factory.ccH A D07-Nov-20201.3 KiB3624

test_prefetch_network_request_factory.hH A D07-Nov-20201.3 KiB3823

test_util.ccH A D07-Nov-20203.1 KiB7358

thumbnail_fetcher.hH A D07-Nov-20201.4 KiB4322

visuals_fetch_by_url.ccH A D07-Nov-20203.1 KiB8971

visuals_fetch_by_url.hH A D07-Nov-20201.2 KiB3719

README.md

1# Prefetching Offline Pages
2
3## Architecture overview
4
5### PrefetchService
6
7Is the ownership holder for the main components of the prefetching system and
8controls their lifetime.
9
10### PrefetchDispatcher
11
12Manages the prefetching pipeline tasks. It receives signals from external
13clients and creates the appropriate tasks to execute them. It _might_ at some
14point execute advanced task management operations like canceling queued tasks or
15changing their order of execution.
16
17### \*Task(s) (i.e. AddUniqueUrlsTask)
18
19They are the main wrapper of pipeline steps and interact with different
20abstracted components (Downloads, persistent store, GCM, etc) to execute them.
21They implement TaskQueue's Task API so that they can be exclusively executed.
22
23## Prefetch store
24
25* The PrefetchStore depends publicly on SQL and acts as a gateway to the SQLite
26  database.
27* It defines specific method signatures used to create callbacks that are passed
28  to the store for the proper execution of SQL commands.
29* SQL access resources are granted to those callbacks only when needed and in an
30  appropriate environment (correct thread, etc).
31* Pipeline tasks define methods following those signatures that contain the SQL
32  commands they require to do their work.
33* Tasks receive a pointer to the store to be able to execute their SQL commands.
34
35More detailed instructions of how to use Prefetch store can be found [here](
36store/README.md)
37
38## Development guidelines
39
40* Implementations that are injected dependencies during service creation should
41  have lightweight construction and postpone heavier initialization (i.e. DB
42  connection) to a later moment. Lazy initialization upon first actual usage is
43  recommended.
44