blob: 4e6a23e0a1e2a67628fbc4f9c37592c4a35ed78f [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;
};