blob: 95af29394232c56f3747d7e4b8ed84a7506095ea [file] [log] [blame]
// Copyright 2019 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.io2;
using zx;
/// A node for streaming unstructured data.
/// No pipe-specific methods are provided by this protocol. The client should
/// access the pipe via the socket object returned from the `PipeInfo` member
/// in [`fuchsia.io2/Representation`].
protocol Pipe {
compose Node;
/// The pipe representation of a node.
/// A pipe is a data streaming interface, commonly used for standard in/out.
/// There is no universal requirement as to if it is uni- or bi-directional.
/// The selection of this variant in [`Representation`] implies that the
/// connection speaks the [`fuchsia.io2/Pipe`] protocol.
resource table PipeInfo {
/// The backing socket transport for the pipe.
/// The rights on this socket should correspond to the rights on the
/// node connection.
1: zx.handle:SOCKET socket;