Descriptionsync: Finish the SyncScheduler refactor
This change removes SyncSessionJob entirely. The first step towards
this goal was to refactor all functions that depended on SyncSessionJob.
All these functions have either been inlined or modified to take
different parameters instead. DoSyncSessionJob was split into
two separate functions, one for configure jobs and one for nudge jobs,
which removes the need for SyncSessionJob's "purpose" member.
The SyncScheduler's pending_configure_job_ has been replaced with
a ConfigParams member, since that was the only part of the job still
being referenced. The pending_nudge_job_ has been replaced with
scheduled_nudge_time_ (which is similar to the old scheduled_start_
member of SyncSessionJob) and a new object called a NudgeTracker.
The NudgeTracker inherits the SyncSessionJob's responsibilities with
respect to coalescing nudge sources. The plan is to extend this class
to support more sophisticated nudge coalescing in the future. For now
it tries to emulate the old SyncSessionJob behaviour as closely as
possible.
Some of the refactoring does change behaviour. In particular, the
decision-making logic has been updated to fix issues 179515 and 155296.
BUG=175024, 179515, 155296
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=194766
Patch Set 1 #Patch Set 2 : Fix ModelNeutralState forward decl #
Total comments: 29
Patch Set 3 : Some updates #Patch Set 4 : Refactor some common code #
Total comments: 6
Patch Set 5 : Some review fixes #Patch Set 6 : Refactor code sharing #
Total comments: 2
Patch Set 7 : Readjust AdjustPolling #Patch Set 8 : Fix AuthErrorTest #
Messages
Total messages: 12 (0 generated)
|