Interface IMetadata
- Namespace
- MarymoorStudios.Core.Rpc
- Assembly
- MarymoorStudios.Core.Rpc.dll
A general mechanism for publishing late-bound eventual capabilities.
[Eventual]
public interface IMetadata
Remarks
IMetadata is a general Eventual interface for exposing a set of late-bound capabilities. Exactly which capabilities are published can be defined at runtime. IMetadata makes for a useful root capability from any Sip that may:
-
Expose different capabilities to different clients (e.g.
IMyService
andIYourService
). -
Expose different capabilities at different times (e.g.
IStateState
andIFinalState
). -
Expose multiple version-specific interfaces of the same service (e.g.
IMyServiceV1
andIMyServiceV2
).
Methods
GetCapabilities()
Promise<IMetadata.Descriptor[]> GetCapabilities()