xref: /aosp_15_r20/external/libchrome/mojo/public/mojom/base/big_buffer.mojom (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
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