diff options
author | 2021-02-06 20:31:43 -0800 | |
---|---|---|
committer | 2021-02-11 08:47:27 +0000 | |
commit | b19ee3ebd86c0952c87df1c145dde7d66c17d811 (patch) | |
tree | e54a1440ac723d1eba15916a0f6627670dea2089 /services/incremental/IncrementalService.h | |
parent | de3ce41f288c007d462d17fec72b3f4707970e62 (diff) |
DataLoader lifecycle.
- restarting DataLoaders for not fully downloaded mounts,
- exponential backoff retry on DataLoader restart.
Bug: 173223115
Bug: 160634487
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest
Change-Id: I5a93fd515ef0fec09452ce7bb4cd79fbd283d45f
Diffstat (limited to 'services/incremental/IncrementalService.h')
-rw-r--r-- | services/incremental/IncrementalService.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/incremental/IncrementalService.h b/services/incremental/IncrementalService.h index 5d53bac777b5..459ed3293510 100644 --- a/services/incremental/IncrementalService.h +++ b/services/incremental/IncrementalService.h @@ -245,7 +245,6 @@ private: void setTargetStatusLocked(int status); bool fsmStep(); - bool fsmStep(int currentStatus, int targetStatus); void onHealthStatus(StorageHealthListener healthListener, int healthStatus); void updateHealthStatus(bool baseline = false); @@ -259,6 +258,8 @@ private: BootClockTsUs getOldestPendingReadTs(); + Milliseconds updateBindDelay(); + void registerForPendingReads(); void unregisterFromPendingReads(); @@ -276,6 +277,9 @@ private: int mTargetStatus = content::pm::IDataLoaderStatusListener::DATA_LOADER_DESTROYED; TimePoint mTargetStatusTs = {}; + TimePoint mPreviousBindTs = {}; + Milliseconds mPreviousBindDelay = {}; + std::string mHealthPath; incfs::UniqueControl mHealthControl; struct { @@ -370,6 +374,8 @@ private: void addBindMountRecordLocked(IncFsMount& ifs, StorageId storage, std::string&& metadataName, std::string&& source, std::string&& target, BindKind kind); + bool needStartDataLoaderLocked(IncFsMount& ifs); + DataLoaderStubPtr prepareDataLoader(IncFsMount& ifs, content::pm::DataLoaderParamsParcel&& params, const DataLoaderStatusListener* statusListener = nullptr, |