| // 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; |
| |
| /// 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. |
| table PipeInfo { |
| /// The backing socket transport for the pipe. |
| /// The rights on this socket should correspond to the rights on the |
| /// node connection. |
| 1: handle<socket> socket; |
| }; |