OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_EDK_SYSTEM_NODE_CONTROLLER_H_ | 5 #ifndef MOJO_EDK_SYSTEM_NODE_CONTROLLER_H_ |
6 #define MOJO_EDK_SYSTEM_NODE_CONTROLLER_H_ | 6 #define MOJO_EDK_SYSTEM_NODE_CONTROLLER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <queue> | 9 #include <queue> |
10 #include <unordered_map> | 10 #include <unordered_map> |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 ports::ScopedMessage message); | 158 ports::ScopedMessage message); |
159 void AcceptIncomingMessages(); | 159 void AcceptIncomingMessages(); |
160 void DropAllPeers(); | 160 void DropAllPeers(); |
161 | 161 |
162 // ports::NodeDelegate: | 162 // ports::NodeDelegate: |
163 void GenerateRandomPortName(ports::PortName* port_name) override; | 163 void GenerateRandomPortName(ports::PortName* port_name) override; |
164 void AllocMessage(size_t num_header_bytes, | 164 void AllocMessage(size_t num_header_bytes, |
165 ports::ScopedMessage* message) override; | 165 ports::ScopedMessage* message) override; |
166 void ForwardMessage(const ports::NodeName& node, | 166 void ForwardMessage(const ports::NodeName& node, |
167 ports::ScopedMessage message) override; | 167 ports::ScopedMessage message) override; |
| 168 void BroadcastMessage(ports::ScopedMessage message) override; |
168 void PortStatusChanged(const ports::PortRef& port) override; | 169 void PortStatusChanged(const ports::PortRef& port) override; |
169 | 170 |
170 // NodeChannel::Delegate: | 171 // NodeChannel::Delegate: |
171 void OnAcceptChild(const ports::NodeName& from_node, | 172 void OnAcceptChild(const ports::NodeName& from_node, |
172 const ports::NodeName& parent_name, | 173 const ports::NodeName& parent_name, |
173 const ports::NodeName& token) override; | 174 const ports::NodeName& token) override; |
174 void OnAcceptParent(const ports::NodeName& from_node, | 175 void OnAcceptParent(const ports::NodeName& from_node, |
175 const ports::NodeName& token, | 176 const ports::NodeName& token, |
176 const ports::NodeName& child_name) override; | 177 const ports::NodeName& child_name) override; |
177 void OnAddBrokerClient(const ports::NodeName& from_node, | 178 void OnAddBrokerClient(const ports::NodeName& from_node, |
178 const ports::NodeName& client_name, | 179 const ports::NodeName& client_name, |
179 base::ProcessHandle process_handle) override; | 180 base::ProcessHandle process_handle) override; |
180 void OnBrokerClientAdded(const ports::NodeName& from_node, | 181 void OnBrokerClientAdded(const ports::NodeName& from_node, |
181 const ports::NodeName& client_name, | 182 const ports::NodeName& client_name, |
182 ScopedPlatformHandle broker_channel) override; | 183 ScopedPlatformHandle broker_channel) override; |
183 void OnAcceptBrokerClient(const ports::NodeName& from_node, | 184 void OnAcceptBrokerClient(const ports::NodeName& from_node, |
184 const ports::NodeName& broker_name, | 185 const ports::NodeName& broker_name, |
185 ScopedPlatformHandle broker_channel) override; | 186 ScopedPlatformHandle broker_channel) override; |
186 void OnPortsMessage(const ports::NodeName& from_node, | 187 void OnPortsMessage(const ports::NodeName& from_node, |
187 Channel::MessagePtr message) override; | 188 Channel::MessagePtr message) override; |
188 void OnRequestPortMerge(const ports::NodeName& from_node, | 189 void OnRequestPortMerge(const ports::NodeName& from_node, |
189 const ports::PortName& connector_port_name, | 190 const ports::PortName& connector_port_name, |
190 const std::string& token) override; | 191 const std::string& token) override; |
191 void OnRequestIntroduction(const ports::NodeName& from_node, | 192 void OnRequestIntroduction(const ports::NodeName& from_node, |
192 const ports::NodeName& name) override; | 193 const ports::NodeName& name) override; |
193 void OnIntroduce(const ports::NodeName& from_node, | 194 void OnIntroduce(const ports::NodeName& from_node, |
194 const ports::NodeName& name, | 195 const ports::NodeName& name, |
195 ScopedPlatformHandle channel_handle) override; | 196 ScopedPlatformHandle channel_handle) override; |
| 197 void OnBroadcast(const ports::NodeName& from_node, |
| 198 Channel::MessagePtr message) override; |
196 #if defined(OS_WIN) || (defined(OS_MACOSX) && !defined(OS_IOS)) | 199 #if defined(OS_WIN) || (defined(OS_MACOSX) && !defined(OS_IOS)) |
197 void OnRelayPortsMessage(const ports::NodeName& from_node, | 200 void OnRelayPortsMessage(const ports::NodeName& from_node, |
198 base::ProcessHandle from_process, | 201 base::ProcessHandle from_process, |
199 const ports::NodeName& destination, | 202 const ports::NodeName& destination, |
200 Channel::MessagePtr message) override; | 203 Channel::MessagePtr message) override; |
201 void OnPortsMessageFromRelay(const ports::NodeName& from_node, | 204 void OnPortsMessageFromRelay(const ports::NodeName& from_node, |
202 const ports::NodeName& source_node, | 205 const ports::NodeName& source_node, |
203 Channel::MessagePtr message) override; | 206 Channel::MessagePtr message) override; |
204 #endif | 207 #endif |
205 void OnChannelError(const ports::NodeName& from_node) override; | 208 void OnChannelError(const ports::NodeName& from_node) override; |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 std::unique_ptr<MachPortRelay> mach_port_relay_; | 311 std::unique_ptr<MachPortRelay> mach_port_relay_; |
309 #endif | 312 #endif |
310 | 313 |
311 DISALLOW_COPY_AND_ASSIGN(NodeController); | 314 DISALLOW_COPY_AND_ASSIGN(NodeController); |
312 }; | 315 }; |
313 | 316 |
314 } // namespace edk | 317 } // namespace edk |
315 } // namespace mojo | 318 } // namespace mojo |
316 | 319 |
317 #endif // MOJO_EDK_SYSTEM_NODE_CONTROLLER_H_ | 320 #endif // MOJO_EDK_SYSTEM_NODE_CONTROLLER_H_ |
OLD | NEW |