Index: mojo/edk/system/constants.h |
diff --git a/mojo/edk/system/constants.h b/mojo/edk/system/constants.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..23f35d834d36abcbee84f516c0f5e0f9fe02fca2 |
--- /dev/null |
+++ b/mojo/edk/system/constants.h |
@@ -0,0 +1,48 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MOJO_EDK_SYSTEM_CONSTANTS_H_ |
+#define MOJO_EDK_SYSTEM_CONSTANTS_H_ |
+ |
+#include <stddef.h> |
+ |
+namespace mojo { |
+namespace system { |
+ |
+// Maximum number of open (Mojo) handles. |
+// TODO(vtl): This doesn't count "live" handles, some of which may live in |
+// messages. |
+const size_t kMaxHandleTableSize = 1000000; |
+ |
+// Maximum number of active memory mappings. |
+const size_t kMaxMappingTableSize = 1000000; |
+ |
+const size_t kMaxWaitManyNumHandles = kMaxHandleTableSize; |
+ |
+const size_t kMaxMessageNumBytes = 4 * 1024 * 1024; |
+ |
+const size_t kMaxMessageNumHandles = 10000; |
+ |
+// Maximum capacity of a data pipe, in bytes. This value must fit into a |
+// |uint32_t|. |
+// WARNING: If you bump it closer to 2^32, you must audit all the code to check |
+// that we don't overflow (2^31 would definitely be risky; up to 2^30 is |
+// probably okay). |
+const size_t kMaxDataPipeCapacityBytes = 256 * 1024 * 1024; // 256 MB. |
+ |
+const size_t kDefaultDataPipeCapacityBytes = 1024 * 1024; // 1 MB. |
+ |
+// Alignment for the "start" of the data buffer used by data pipes. (The |
+// alignment of elements will depend on this and the element size.) |
+const size_t kDataPipeBufferAlignmentBytes = 16; |
+ |
+// TODO(vtl): Set this hard limit appropriately (e.g., higher on 64-bit). (This |
+// will also entail some auditing to make sure I'm not messing up my checks |
+// anywhere.) |
+const size_t kMaxSharedMemoryNumBytes = 1024 * 1024 * 1024; // 1 GB. |
+ |
+} // namespace system |
+} // namespace mojo |
+ |
+#endif // MOJO_EDK_SYSTEM_CONSTANTS_H_ |