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.
5 #include "mojo/edk/system/channel_endpoint_id.h"
7 #include "base/compiler_specific.h"
12 STATIC_CONST_MEMBER_DEFINITION
const uint32_t ChannelEndpointId::kRemoteFlag
;
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())
23 ChannelEndpointId
RemoteChannelEndpointIdGenerator::GetNext() {
24 ChannelEndpointId rv
= next_
;
25 next_
.value_
= (next_
.value_
+ 1) | ChannelEndpointId::kRemoteFlag
;