| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| /** |
| * Interface describes the signature of an interface. |
| * @constructor |
| * @name Interface |
| * @property {string} name |
| * @property {string} pkgPath |
| * @property {string} doc |
| * @property {module:vanadium.vdl.signature.Embed[]} embeds No special ordering. |
| * @property {module:vanadium.vdl.signature.Method[]} method Ordered by method |
| * name. |
| * @memberof module:vanadium.vdl.signature |
| */ |
| /** |
| * Embed describes the signature of an embedded interface. |
| * @constructor |
| * @name Embed |
| * @property {string} name |
| * @property {string} pkgPath |
| * @property {string} doc |
| * @memberof module:vanadium.vdl.signature |
| */ |
| /** |
| * Method describes the signature of an interface method. |
| * @constructor |
| * @name Method |
| * @property {string} Name |
| * @property {string} PkgPath |
| * @property {module:vanadium.vdl.signature.Arg[]} inArgs Input arguments |
| * @property {module:vanadium.vdl.signature.Arg[]} outArgs Output arguments |
| * @property {module:vanadium.vdl.signature.Arg} inStream Input stream |
| * (optional) |
| * @property {module:vanadium.vdl.signature.Arg} outStream Output stream |
| * (optional) |
| * @property {*} tags Method tags |
| * @memberof module:vanadium.vdl.signature |
| */ |
| /** |
| * Arg describes the signature of a single argument. |
| * @constructor |
| * @name Arg |
| * @property {string} name |
| * @property {string} doc |
| * @property {module:vanadium.vdl.Type} type |
| * @memberof module:vanadium.vdl.signature |
| */ |
| /** |
| * Duration represents the elapsed duration between two points in time, |
| * with up to nanosecond precision. |
| * @constructor |
| * @name Duration |
| * @property seconds {integer} Seconds represents the seconds in the duration. |
| * @property nanos {integer} In normalized form, durations less than one second |
| * are represented with 0. Seconds and +/-Nanos. For durations one second or |
| * more, the sign of Nanos must match Seconds, or be 0. |
| * @memberof module:vanadium.vdl.time |
| */ |
| |