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