| // 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; |
| }; |