// Copyright 2020 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 test.benchmarkfidl;

protocol HandleArrayEvent64EventProtocol {
    -> Send(resource struct {
        val HandleArrayEvent64;
    });
};

protocol HandleArrayEvent64EchoCall {
    Echo(resource struct {
        val HandleArrayEvent64;
    }) -> (resource struct {
        val HandleArrayEvent64;
    });
};

@transport("Driver")
protocol HandleArrayEvent64EchoCallDriver {
    Echo(resource struct {
        val HandleArrayEvent64;
    }) -> (resource struct {
        val HandleArrayEvent64;
    });
};
