blob: 0ed5da6ea35d92918db9b71918fea34142e91fcb [file] [log] [blame]
// Copyright 2018 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.sys2;
/// A moniker encodes the relationship between two component instances that
/// exist in the component instance tree at runtime.
///
/// To understand this better, consider two component instances labeled "A"
/// and "B" that are both children of a component instance labeled "P".
///
/// At runtime, when "B" requests a service from "A" through a channel
/// established by the component manager, the component manager may provide
/// "A" with a moniker that encodes "B's" identity relative to "A" itself.
/// The moniker's encoded value describes the directed path to traverse from
/// "A" (the moniker's origin) to "B" (the moniker's referent), passing
/// through "P" (their common ancestor).
struct Moniker {
/// An opaque representation of the moniker's relation.
string:MAX_MONIKER_LENGTH encoded_value;
};