 Chromium Code Reviews
 Chromium Code Reviews Issue 14963002:
  sync: Report GetUpdate triggers to the server  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 14963002:
  sync: Report GetUpdate triggers to the server  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| 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; | 
| 
tim (not reviewing)
2013/05/07 22:40:34
You use int here but size_t in NudgeTracker, was t
 
rlarocque
2013/05/07 22:56:49
The protobufs provide us with ints, so I've used i
 
tim (not reviewing)
2013/05/07 23:35:50
Sanity checking that the value was greater than ze
 | 
| + | 
| 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); | 
| }; |