| 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_
|
|
|