| 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 // Simple system resources class that uses the current thread for scheduling. | 5 // Simple system resources class that uses the current thread for scheduling. |
| 6 // Assumes the current thread is already running tasks. | 6 // Assumes the current thread is already running tasks. |
| 7 | 7 |
| 8 #ifndef COMPONENTS_INVALIDATION_IMPL_SYNC_SYSTEM_RESOURCES_H_ | 8 #ifndef COMPONENTS_INVALIDATION_IMPL_SYNC_SYSTEM_RESOURCES_H_ |
| 9 #define COMPONENTS_INVALIDATION_IMPL_SYNC_SYSTEM_RESOURCES_H_ | 9 #define COMPONENTS_INVALIDATION_IMPL_SYNC_SYSTEM_RESOURCES_H_ |
| 10 | 10 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 | 63 |
| 64 invalidation::Time GetCurrentTime() const override; | 64 invalidation::Time GetCurrentTime() const override; |
| 65 | 65 |
| 66 void SetSystemResources(invalidation::SystemResources* resources) override; | 66 void SetSystemResources(invalidation::SystemResources* resources) override; |
| 67 | 67 |
| 68 private: | 68 private: |
| 69 // Runs the task, deletes it, and removes it from |posted_tasks_|. | 69 // Runs the task, deletes it, and removes it from |posted_tasks_|. |
| 70 void RunPostedTask(invalidation::Closure* task); | 70 void RunPostedTask(invalidation::Closure* task); |
| 71 | 71 |
| 72 // Holds all posted tasks that have not yet been run. | 72 // Holds all posted tasks that have not yet been run. |
| 73 std::set<invalidation::Closure*> posted_tasks_; | 73 std::set<std::unique_ptr<invalidation::Closure>> posted_tasks_; |
| 74 | 74 |
| 75 scoped_refptr<base::SingleThreadTaskRunner> const created_on_task_runner_; | 75 scoped_refptr<base::SingleThreadTaskRunner> const created_on_task_runner_; |
| 76 bool is_started_; | 76 bool is_started_; |
| 77 bool is_stopped_; | 77 bool is_stopped_; |
| 78 | 78 |
| 79 base::WeakPtrFactory<SyncInvalidationScheduler> weak_factory_; | 79 base::WeakPtrFactory<SyncInvalidationScheduler> weak_factory_; |
| 80 }; | 80 }; |
| 81 | 81 |
| 82 // SyncNetworkChannel implements common tasks needed to interact with | 82 // SyncNetworkChannel implements common tasks needed to interact with |
| 83 // invalidation library: | 83 // invalidation library: |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 // NotifyChannelStateChange. If communication doesn't work and it is possible | 152 // NotifyChannelStateChange. If communication doesn't work and it is possible |
| 153 // that invalidations from server will not reach this client then channel | 153 // that invalidations from server will not reach this client then channel |
| 154 // should call this function with TRANSIENT_INVALIDATION_ERROR. | 154 // should call this function with TRANSIENT_INVALIDATION_ERROR. |
| 155 void NotifyChannelStateChange(InvalidatorState invalidator_state); | 155 void NotifyChannelStateChange(InvalidatorState invalidator_state); |
| 156 | 156 |
| 157 // Subclass should call DeliverIncomingMessage for message to reach | 157 // Subclass should call DeliverIncomingMessage for message to reach |
| 158 // invalidations library. | 158 // invalidations library. |
| 159 bool DeliverIncomingMessage(const std::string& message); | 159 bool DeliverIncomingMessage(const std::string& message); |
| 160 | 160 |
| 161 private: | 161 private: |
| 162 typedef std::vector<invalidation::NetworkStatusCallback*> | |
| 163 NetworkStatusReceiverList; | |
| 164 | |
| 165 // Callbacks into invalidation library | 162 // Callbacks into invalidation library |
| 166 std::unique_ptr<invalidation::MessageCallback> incoming_receiver_; | 163 std::unique_ptr<invalidation::MessageCallback> incoming_receiver_; |
| 167 NetworkStatusReceiverList network_status_receivers_; | 164 std::vector<std::unique_ptr<invalidation::NetworkStatusCallback>> |
| 165 network_status_receivers_; |
| 168 | 166 |
| 169 // Last network status for new network status receivers. | 167 // Last network status for new network status receivers. |
| 170 bool last_network_status_; | 168 bool last_network_status_; |
| 171 | 169 |
| 172 int received_messages_count_; | 170 int received_messages_count_; |
| 173 | 171 |
| 174 base::ObserverList<Observer> observers_; | 172 base::ObserverList<Observer> observers_; |
| 175 }; | 173 }; |
| 176 | 174 |
| 177 class SyncStorage : public invalidation::Storage { | 175 class SyncStorage : public invalidation::Storage { |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 240 std::unique_ptr<SyncInvalidationScheduler> internal_scheduler_; | 238 std::unique_ptr<SyncInvalidationScheduler> internal_scheduler_; |
| 241 std::unique_ptr<SyncInvalidationScheduler> listener_scheduler_; | 239 std::unique_ptr<SyncInvalidationScheduler> listener_scheduler_; |
| 242 std::unique_ptr<SyncStorage> storage_; | 240 std::unique_ptr<SyncStorage> storage_; |
| 243 // sync_network_channel_ is owned by SyncInvalidationListener. | 241 // sync_network_channel_ is owned by SyncInvalidationListener. |
| 244 SyncNetworkChannel* sync_network_channel_; | 242 SyncNetworkChannel* sync_network_channel_; |
| 245 }; | 243 }; |
| 246 | 244 |
| 247 } // namespace syncer | 245 } // namespace syncer |
| 248 | 246 |
| 249 #endif // COMPONENTS_INVALIDATION_IMPL_SYNC_SYSTEM_RESOURCES_H_ | 247 #endif // COMPONENTS_INVALIDATION_IMPL_SYNC_SYSTEM_RESOURCES_H_ |
| OLD | NEW |