| 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 "mojo/edk/system/channel_endpoint_id.h" | 5 #include "mojo/edk/system/channel_endpoint_id.h" |
| 6 | 6 |
| 7 #include "base/compiler_specific.h" |
| 8 |
| 7 namespace mojo { | 9 namespace mojo { |
| 8 namespace system { | 10 namespace system { |
| 9 | 11 |
| 12 STATIC_CONST_MEMBER_DEFINITION const uint32_t |
| 13 ChannelEndpointId::kRemotelyAllocatedFlag; |
| 14 STATIC_CONST_MEMBER_DEFINITION const uint32_t |
| 15 ChannelEndpointId::kLocallyAllocatedMask; |
| 16 |
| 10 ChannelEndpointId LocalChannelEndpointIdGenerator::GetNext() { | 17 ChannelEndpointId LocalChannelEndpointIdGenerator::GetNext() { |
| 11 ChannelEndpointId rv = next_channel_endpoint_id_; | 18 ChannelEndpointId rv = next_channel_endpoint_id_; |
| 12 next_channel_endpoint_id_.value_++; | 19 next_channel_endpoint_id_.value_ = (next_channel_endpoint_id_.value_ + 1) & |
| 20 ChannelEndpointId::kLocallyAllocatedMask; |
| 13 // Skip over the invalid value, in case we wrap. | 21 // Skip over the invalid value, in case we wrap. |
| 14 if (!next_channel_endpoint_id_.is_valid()) | 22 if (!next_channel_endpoint_id_.is_valid()) |
| 15 next_channel_endpoint_id_.value_++; | 23 next_channel_endpoint_id_.value_++; |
| 16 return rv; | 24 return rv; |
| 17 } | 25 } |
| 18 | 26 |
| 19 } // namespace system | 27 } // namespace system |
| 20 } // namespace mojo | 28 } // namespace mojo |
| OLD | NEW |