OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/invalidation/unacked_invalidation_set.h" | 5 #include "components/invalidation/unacked_invalidation_set.h" |
6 | 6 |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "components/invalidation/ack_handle.h" | 8 #include "components/invalidation/ack_handle.h" |
9 #include "components/invalidation/object_id_invalidation_map.h" | 9 #include "components/invalidation/object_id_invalidation_map.h" |
10 | 10 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 } | 49 } |
50 | 50 |
51 void UnackedInvalidationSet::AddSet( | 51 void UnackedInvalidationSet::AddSet( |
52 const SingleObjectInvalidationSet& invalidations) { | 52 const SingleObjectInvalidationSet& invalidations) { |
53 invalidations_.insert(invalidations.begin(), invalidations.end()); | 53 invalidations_.insert(invalidations.begin(), invalidations.end()); |
54 if (!registered_) | 54 if (!registered_) |
55 Truncate(kMaxBufferedInvalidations); | 55 Truncate(kMaxBufferedInvalidations); |
56 } | 56 } |
57 | 57 |
58 void UnackedInvalidationSet::ExportInvalidations( | 58 void UnackedInvalidationSet::ExportInvalidations( |
59 WeakHandle<AckHandler> ack_handler, | 59 base::WeakPtr<AckHandler> ack_handler, |
| 60 scoped_refptr<base::SingleThreadTaskRunner> ack_handler_task_runner, |
60 ObjectIdInvalidationMap* out) const { | 61 ObjectIdInvalidationMap* out) const { |
61 for (SingleObjectInvalidationSet::const_iterator it = invalidations_.begin(); | 62 for (SingleObjectInvalidationSet::const_iterator it = invalidations_.begin(); |
62 it != invalidations_.end(); ++it) { | 63 it != invalidations_.end(); ++it) { |
63 // Copy the invalidation and set the copy's ack_handler. | 64 // Copy the invalidation and set the copy's ack_handler. |
64 Invalidation inv(*it); | 65 Invalidation inv(*it); |
65 inv.set_ack_handler(ack_handler); | 66 inv.SetAckHandler(ack_handler, ack_handler_task_runner); |
66 out->Insert(inv); | 67 out->Insert(inv); |
67 } | 68 } |
68 } | 69 } |
69 | 70 |
70 void UnackedInvalidationSet::Clear() { | 71 void UnackedInvalidationSet::Clear() { |
71 invalidations_.clear(); | 72 invalidations_.clear(); |
72 } | 73 } |
73 | 74 |
74 void UnackedInvalidationSet::SetHandlerIsRegistered() { | 75 void UnackedInvalidationSet::SetHandlerIsRegistered() { |
75 registered_ = true; | 76 registered_ = true; |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 // an UnknownVersion invalidation. We remove the oldest remaining | 202 // an UnknownVersion invalidation. We remove the oldest remaining |
202 // invalidation to make room for it. | 203 // invalidation to make room for it. |
203 invalidation::ObjectId id = invalidations_.begin()->object_id(); | 204 invalidation::ObjectId id = invalidations_.begin()->object_id(); |
204 invalidations_.erase(*invalidations_.begin()); | 205 invalidations_.erase(*invalidations_.begin()); |
205 | 206 |
206 Invalidation unknown_version = Invalidation::InitUnknownVersion(id); | 207 Invalidation unknown_version = Invalidation::InitUnknownVersion(id); |
207 invalidations_.insert(unknown_version); | 208 invalidations_.insert(unknown_version); |
208 } | 209 } |
209 | 210 |
210 } // namespace syncer | 211 } // namespace syncer |
OLD | NEW |