| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_MULTIPLEX_ROUTER_H_ | 5 #ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_MULTIPLEX_ROUTER_H_ |
| 6 #define MOJO_PUBLIC_CPP_BINDINGS_LIB_MULTIPLEX_ROUTER_H_ | 6 #define MOJO_PUBLIC_CPP_BINDINGS_LIB_MULTIPLEX_ROUTER_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <deque> | 10 #include <deque> |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 return connector_.PassMessagePipe(); | 95 return connector_.PassMessagePipe(); |
| 96 } | 96 } |
| 97 | 97 |
| 98 // Blocks the current thread until the first incoming message, or |deadline|. | 98 // Blocks the current thread until the first incoming message, or |deadline|. |
| 99 bool WaitForIncomingMessage(MojoDeadline deadline) { | 99 bool WaitForIncomingMessage(MojoDeadline deadline) { |
| 100 DCHECK(thread_checker_.CalledOnValidThread()); | 100 DCHECK(thread_checker_.CalledOnValidThread()); |
| 101 return connector_.WaitForIncomingMessage(deadline); | 101 return connector_.WaitForIncomingMessage(deadline); |
| 102 } | 102 } |
| 103 | 103 |
| 104 // See Binding for details of pause/resume. | 104 // See Binding for details of pause/resume. |
| 105 void PauseIncomingMethodCallProcessing() { | 105 void PauseIncomingMethodCallProcessing(); |
| 106 DCHECK(thread_checker_.CalledOnValidThread()); | 106 void ResumeIncomingMethodCallProcessing(); |
| 107 connector_.PauseIncomingMethodCallProcessing(); | |
| 108 } | |
| 109 void ResumeIncomingMethodCallProcessing() { | |
| 110 DCHECK(thread_checker_.CalledOnValidThread()); | |
| 111 connector_.ResumeIncomingMethodCallProcessing(); | |
| 112 } | |
| 113 | 107 |
| 114 // Whether there are any associated interfaces running currently. | 108 // Whether there are any associated interfaces running currently. |
| 115 bool HasAssociatedEndpoints() const; | 109 bool HasAssociatedEndpoints() const; |
| 116 | 110 |
| 117 // Sets this object to testing mode. | 111 // Sets this object to testing mode. |
| 118 // In testing mode, the object doesn't disconnect the underlying message pipe | 112 // In testing mode, the object doesn't disconnect the underlying message pipe |
| 119 // when it receives unexpected or invalid messages. | 113 // when it receives unexpected or invalid messages. |
| 120 void EnableTestingMode(); | 114 void EnableTestingMode(); |
| 121 | 115 |
| 122 // Is the router bound to a message pipe handle? | 116 // Is the router bound to a message pipe handle? |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 | 216 |
| 223 std::deque<std::unique_ptr<Task>> tasks_; | 217 std::deque<std::unique_ptr<Task>> tasks_; |
| 224 // It refers to tasks in |tasks_| and doesn't own any of them. | 218 // It refers to tasks in |tasks_| and doesn't own any of them. |
| 225 std::map<InterfaceId, std::deque<Task*>> sync_message_tasks_; | 219 std::map<InterfaceId, std::deque<Task*>> sync_message_tasks_; |
| 226 | 220 |
| 227 bool posted_to_process_tasks_; | 221 bool posted_to_process_tasks_; |
| 228 scoped_refptr<base::SingleThreadTaskRunner> posted_to_task_runner_; | 222 scoped_refptr<base::SingleThreadTaskRunner> posted_to_task_runner_; |
| 229 | 223 |
| 230 bool encountered_error_; | 224 bool encountered_error_; |
| 231 | 225 |
| 226 bool paused_; |
| 227 |
| 232 bool testing_mode_; | 228 bool testing_mode_; |
| 233 | 229 |
| 234 DISALLOW_COPY_AND_ASSIGN(MultiplexRouter); | 230 DISALLOW_COPY_AND_ASSIGN(MultiplexRouter); |
| 235 }; | 231 }; |
| 236 | 232 |
| 237 } // namespace internal | 233 } // namespace internal |
| 238 } // namespace mojo | 234 } // namespace mojo |
| 239 | 235 |
| 240 #endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_MULTIPLEX_ROUTER_H_ | 236 #endif // MOJO_PUBLIC_CPP_BINDINGS_LIB_MULTIPLEX_ROUTER_H_ |
| OLD | NEW |