blob: e4bbb098a09c9eb5160acb06b4103b08e9ecc282 [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fidl.llcpp.buffersize.test;
type Array256Elements = struct {
value array<uint8, 256>;
};
type Array4096Elements = struct {
value array<uint8, 4096>;
};
closed protocol Protocol {
strict RequestWith496ByteArray(struct {
value array<byte, 496>;
});
strict RequestWith497ByteArray(struct {
value array<byte, 497>;
});
// A small request that should be stack-allocated when sending.
strict SmallRequestWithFlexibleType(struct {
u flexible union {
1: value int64;
};
});
strict SmallResponseWithFlexibleType() -> (struct {
r flexible union {
1: value int64;
};
});
strict RequestWith496ByteArrayAndResponseOf256Bytes(struct {
value array<byte, 496>;
}) -> (struct {
value array<byte, 240>;
});
strict -> EventOf256Bytes(struct {
value array<byte, 240>;
});
};