OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef MOJO_SYSTEM_CONSTANTS_H_ | |
6 #define MOJO_SYSTEM_CONSTANTS_H_ | |
7 | |
8 #include <stddef.h> | |
9 | |
10 namespace mojo { | |
11 namespace system { | |
12 | |
13 // Maximum number of open (Mojo) handles. | |
14 // TODO(vtl): This doesn't count "live" handles, some of which may live in | |
15 // messages. | |
16 const size_t kMaxHandleTableSize = 1000000; | |
17 | |
18 // Maximum number of active memory mappings. | |
19 const size_t kMaxMappingTableSize = 1000000; | |
20 | |
21 const size_t kMaxWaitManyNumHandles = kMaxHandleTableSize; | |
22 | |
23 const size_t kMaxMessageNumBytes = 4 * 1024 * 1024; | |
24 | |
25 const size_t kMaxMessageNumHandles = 10000; | |
26 | |
27 // Maximum capacity of a data pipe, in bytes. This value must fit into a | |
28 // |uint32_t|. | |
29 // WARNING: If you bump it closer to 2^32, you must audit all the code to check | |
30 // that we don't overflow (2^31 would definitely be risky; up to 2^30 is | |
31 // probably okay). | |
32 const size_t kMaxDataPipeCapacityBytes = 256 * 1024 * 1024; // 256 MB. | |
33 | |
34 const size_t kDefaultDataPipeCapacityBytes = 1024 * 1024; // 1 MB. | |
35 | |
36 // Alignment for the "start" of the data buffer used by data pipes. (The | |
37 // alignment of elements will depend on this and the element size.) | |
38 const size_t kDataPipeBufferAlignmentBytes = 16; | |
39 | |
40 // TODO(vtl): Set this hard limit appropriately (e.g., higher on 64-bit). (This | |
41 // will also entail some auditing to make sure I'm not messing up my checks | |
42 // anywhere.) | |
43 const size_t kMaxSharedMemoryNumBytes = 1024 * 1024 * 1024; // 1 GB. | |
44 | |
45 } // namespace system | |
46 } // namespace mojo | |
47 | |
48 #endif // MOJO_SYSTEM_CONSTANTS_H_ | |
OLD | NEW |