| // 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. |
| |
| /** |
| * @constructor |
| * @name Interface |
| * @summary Describes the signature of an interface. |
| * @property {string} name Name of the interface. |
| * @property {string} pkgPath Path of the interface. |
| * @property {string} doc Documentation for the interface. |
| * @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 |
| */ |
| /** |
| * @constructor |
| * @name Embed |
| * @summary Describes the signature of an embedded interface. |
| * @property {string} name Name of the embedded interface. |
| * @property {string} pkgPath Path of the embedded interface. |
| * @property {string} doc Documentation for the embedded interface. |
| * @memberof module:vanadium.vdl.signature |
| */ |
| /** |
| * @constructor |
| * @name Method |
| * @summary Describes the signature of an interface 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 |
| */ |
| /** |
| * @constructor |
| * @name Arg |
| * @summary Describes the signature of a single argument. |
| * @property {string} name Name of the argument. |
| * @property {string} doc Documentation for the argument. |
| * @property {module:vanadium.vdl.Type} type Type of the argument. |
| * @memberof module:vanadium.vdl.signature |
| */ |
| /** |
| * @constructor |
| * @name Duration |
| * @summary Represents the elapsed duration between two points in time, with up |
| * to nanosecond precision. |
| * @property seconds {number} Seconds represents the seconds in the duration. |
| * @property nanos {number} 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 |
| */ |
| /** |
| * @constructor |
| * @name WireDeadline |
| * @summary Deadline represents the deadline for an operation |
| * @property {number} fromNow The number of milliseconds from now. |
| * @property {boolean} noDeadline True iff there is no deadline. |
| * @memberof module:vanadium.vdl.time |
| */ |