// 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 fuchsia.test.echofactory;

using fidl.examples.routing.echo;

/// Test-only protocol used to demo attaching interposers to channels sent over
/// a "factory" channel.
@discoverable
closed protocol EchoFactory {
    strict RequestEchoProtocol(resource struct {
        server_end server_end:fidl.examples.routing.echo.Echo;
    }) -> ();
};
