| Index: sync/sessions/sync_session.h
|
| diff --git a/sync/sessions/sync_session.h b/sync/sessions/sync_session.h
|
| index 763bd3bc47941101552755b9a3cb0388e8d34219..a8bfb4d61d26c9ce5b340c417c5e77c3081ba2ce 100644
|
| --- a/sync/sessions/sync_session.h
|
| +++ b/sync/sessions/sync_session.h
|
| @@ -36,6 +36,8 @@ class ModelSafeWorker;
|
|
|
| namespace sessions {
|
|
|
| +class NudgeTracker;
|
| +
|
| class SYNC_EXPORT_PRIVATE SyncSession {
|
| public:
|
| // The Delegate services events that occur during the session requiring an
|
| @@ -86,13 +88,27 @@ class SYNC_EXPORT_PRIVATE SyncSession {
|
| virtual void OnSyncProtocolError(
|
| const sessions::SyncSessionSnapshot& snapshot) = 0;
|
|
|
| + // Called when the server wants to change the number of hints the client
|
| + // will buffer locally.
|
| + virtual void OnReceivedClientInvalidationHintBufferSize(int size) = 0;
|
| +
|
| protected:
|
| virtual ~Delegate() {}
|
| };
|
|
|
| - SyncSession(SyncSessionContext* context,
|
| - Delegate* delegate,
|
| - const SyncSourceInfo& source);
|
| + // Build a session with a nudge tracker. Used for sync cycles with origin of
|
| + // GU_TRIGGER (ie. notification, local change, and/or refresh request)
|
| + static SyncSession* BuildForNudge(SyncSessionContext* context,
|
| + Delegate* delegate,
|
| + const SyncSourceInfo& source,
|
| + const NudgeTracker* nudge_tracker);
|
| +
|
| + // Build a session without a nudge tracker. Used for poll or configure type
|
| + // sync cycles.
|
| + static SyncSession* Build(SyncSessionContext* context,
|
| + Delegate* delegate,
|
| + const SyncSourceInfo& source);
|
| +
|
| ~SyncSession();
|
|
|
| // Builds a thread-safe and read-only copy of the current session state.
|
| @@ -113,7 +129,14 @@ class SYNC_EXPORT_PRIVATE SyncSession {
|
|
|
| const SyncSourceInfo& source() const { return source_; }
|
|
|
| + const NudgeTracker* nudge_tracker() const { return nudge_tracker_; }
|
| +
|
| private:
|
| + SyncSession(SyncSessionContext* context,
|
| + Delegate* delegate,
|
| + const SyncSourceInfo& source,
|
| + const NudgeTracker* nudge_tracker);
|
| +
|
| // The context for this session, guaranteed to outlive |this|.
|
| SyncSessionContext* const context_;
|
|
|
| @@ -126,6 +149,8 @@ class SYNC_EXPORT_PRIVATE SyncSession {
|
| // Our controller for various status and error counters.
|
| scoped_ptr<StatusController> status_controller_;
|
|
|
| + const NudgeTracker* nudge_tracker_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SyncSession);
|
| };
|
|
|
|
|