1// Copyright 2018 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
5module mojo_base.mojom;
6
7struct BigBufferSharedMemoryRegion {
8  handle<shared_buffer> buffer_handle;
9  uint32 size;
10};
11
12// A helper union to be used when messages want to accept arbitrarily large
13// chunks of byte data. Beyond a certain size threshold, shared memory will be
14// used in lieu of an inline byte array.
15union BigBuffer {
16  array<uint8> bytes;
17  BigBufferSharedMemoryRegion shared_memory;
18};
19