| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_CHANNEL_H_ | 5 #ifndef MOJO_EDK_SYSTEM_CHANNEL_H_ |
| 6 #define MOJO_EDK_SYSTEM_CHANNEL_H_ | 6 #define MOJO_EDK_SYSTEM_CHANNEL_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 base::Lock lock_; // Protects the members below. | 228 base::Lock lock_; // Protects the members below. |
| 229 | 229 |
| 230 scoped_ptr<RawChannel> raw_channel_; | 230 scoped_ptr<RawChannel> raw_channel_; |
| 231 bool is_running_; | 231 bool is_running_; |
| 232 // Set when |WillShutdownSoon()| is called. | 232 // Set when |WillShutdownSoon()| is called. |
| 233 bool is_shutting_down_; | 233 bool is_shutting_down_; |
| 234 | 234 |
| 235 // Has a reference to us. | 235 // Has a reference to us. |
| 236 ChannelManager* channel_manager_; | 236 ChannelManager* channel_manager_; |
| 237 | 237 |
| 238 typedef base::hash_map<ChannelEndpointId, scoped_refptr<ChannelEndpoint>> | 238 using IdToEndpointMap = |
| 239 IdToEndpointMap; | 239 base::hash_map<ChannelEndpointId, scoped_refptr<ChannelEndpoint>>; |
| 240 // Map from local IDs to endpoints. If the endpoint is null, this means that | 240 // Map from local IDs to endpoints. If the endpoint is null, this means that |
| 241 // we're just waiting for the remove ack before removing the entry. | 241 // we're just waiting for the remove ack before removing the entry. |
| 242 IdToEndpointMap local_id_to_endpoint_map_; | 242 IdToEndpointMap local_id_to_endpoint_map_; |
| 243 // Note: The IDs generated by this should be checked for existence before use. | 243 // Note: The IDs generated by this should be checked for existence before use. |
| 244 LocalChannelEndpointIdGenerator local_id_generator_; | 244 LocalChannelEndpointIdGenerator local_id_generator_; |
| 245 | 245 |
| 246 typedef base::hash_map<ChannelEndpointId, scoped_refptr<IncomingEndpoint>> | 246 using IdToIncomingEndpointMap = |
| 247 IdToIncomingEndpointMap; | 247 base::hash_map<ChannelEndpointId, scoped_refptr<IncomingEndpoint>>; |
| 248 // Map from local IDs to incoming endpoints (i.e., those received inside other | 248 // Map from local IDs to incoming endpoints (i.e., those received inside other |
| 249 // messages, but not yet claimed via |DeserializeEndpoint()|). | 249 // messages, but not yet claimed via |DeserializeEndpoint()|). |
| 250 IdToIncomingEndpointMap incoming_endpoints_; | 250 IdToIncomingEndpointMap incoming_endpoints_; |
| 251 // TODO(vtl): We need to keep track of remote IDs (so that we don't collide | 251 // TODO(vtl): We need to keep track of remote IDs (so that we don't collide |
| 252 // if/when we wrap). | 252 // if/when we wrap). |
| 253 RemoteChannelEndpointIdGenerator remote_id_generator_; | 253 RemoteChannelEndpointIdGenerator remote_id_generator_; |
| 254 | 254 |
| 255 DISALLOW_COPY_AND_ASSIGN(Channel); | 255 DISALLOW_COPY_AND_ASSIGN(Channel); |
| 256 }; | 256 }; |
| 257 | 257 |
| 258 } // namespace system | 258 } // namespace system |
| 259 } // namespace mojo | 259 } // namespace mojo |
| 260 | 260 |
| 261 #endif // MOJO_EDK_SYSTEM_CHANNEL_H_ | 261 #endif // MOJO_EDK_SYSTEM_CHANNEL_H_ |
| OLD | NEW |