Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: mojo/edk/system/transport_data.cc

Issue 1387963004: Create a broker interface for the new Mojo EDK so that the browser can create and duplicate messa... (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: presubmit whitespace error Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/transport_data.h" 5 #include "mojo/edk/system/transport_data.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "mojo/edk/system/configuration.h" 8 #include "mojo/edk/system/configuration.h"
9 #include "mojo/edk/system/message_in_transit.h" 9 #include "mojo/edk/system/message_in_transit.h"
10 #include "mojo/edk/system/raw_channel.h" 10 #include "mojo/edk/system/raw_channel.h"
11 11
12 namespace mojo { 12 namespace mojo {
13 namespace edk { 13 namespace edk {
14 14
15 // The maximum amount of space needed per platform handle. 15 // The maximum amount of space needed per platform handle.
16 // (|{Channel,RawChannel}::GetSerializedPlatformHandleSize()| should always 16 // (|{Channel,RawChannel}::GetSerializedPlatformHandleSize()| should always
17 // return a value which is at most this. This is only used to calculate 17 // return a value which is at most this. This is only used to calculate
18 // |TransportData::kMaxBufferSize|. This value should be a multiple of the 18 // |TransportData::kMaxBufferSize|. This value should be a multiple of the
19 // alignment in order to simplify calculations, even though the actual amount of 19 // alignment in order to simplify calculations, even though the actual amount of
20 // space needed need not be a multiple of the alignment. 20 // space needed need not be a multiple of the alignment.
21 const size_t kMaxSizePerPlatformHandle = 16; 21 const size_t kMaxSizePerPlatformHandle = 8;
22 static_assert(kMaxSizePerPlatformHandle % MessageInTransit::kMessageAlignment == 22 static_assert(kMaxSizePerPlatformHandle % MessageInTransit::kMessageAlignment ==
23 0, 23 0,
24 "kMaxSizePerPlatformHandle not a multiple of alignment"); 24 "kMaxSizePerPlatformHandle not a multiple of alignment");
25 25
26 MOJO_STATIC_CONST_MEMBER_DEFINITION const size_t 26 MOJO_STATIC_CONST_MEMBER_DEFINITION const size_t
27 TransportData::kMaxSerializedDispatcherSize; 27 TransportData::kMaxSerializedDispatcherSize;
28 28
29 // static 29 // static
30 size_t TransportData::GetMaxBufferSize() { 30 size_t TransportData::GetMaxBufferSize() {
31 // In additional to the header, for each attached (Mojo) handle there'll be a 31 // In additional to the header, for each attached (Mojo) handle there'll be a
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 const void* source = static_cast<const char*>(buffer) + offset; 324 const void* source = static_cast<const char*>(buffer) + offset;
325 (*dispatchers)[i] = Dispatcher::TransportDataAccess::Deserialize( 325 (*dispatchers)[i] = Dispatcher::TransportDataAccess::Deserialize(
326 handle_table[i].type, source, size, platform_handles.get()); 326 handle_table[i].type, source, size, platform_handles.get());
327 } 327 }
328 328
329 return dispatchers.Pass(); 329 return dispatchers.Pass();
330 } 330 }
331 331
332 } // namespace edk 332 } // namespace edk
333 } // namespace mojo 333 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698