Skip to content

Myogestic.Remote.ControlManifest

VHI_godot

Myogestic.Remote

ControlManifest Class

public sealed class ControlManifest : Google.Protobuf.IMessage<Myogestic.Remote.ControlManifest>, Google.Protobuf.IMessage, System.IEquatable<Myogestic.Remote.ControlManifest>, Google.Protobuf.IDeepCloneable<Myogestic.Remote.ControlManifest>, Google.Protobuf.IBufferMessage

Inheritance System.Object → ControlManifest

Implements Google.Protobuf.IMessage<ControlManifest>, Google.Protobuf.IMessage, System.IEquatable<ControlManifest>, Google.Protobuf.IDeepCloneable<ControlManifest>, Google.Protobuf.IBufferMessage

Properties

ControlManifest.Capabilities Property

Every control this build exports. A client validates its configuration against this list and reports an unknown address by name — with these as the alternatives.

public Google.Protobuf.Collections.RepeatedField<Myogestic.Remote.ControlCapability> Capabilities { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<ControlCapability>

ControlManifest.TargetName Property

Which target this is, for a client that talks to more than one.

public string TargetName { get; set; }

Property Value

System.String

ControlManifest.TargetVersion Property

The serving build's own release version — "2.1.0", the numeric part of its release tag. Mostly informational, with one narrow use: a client that knows a *specific* target's history may refuse builds older than a floor it trusts — a build whose protocol is current but whose behaviour is known-bad (the case that motivated the field: a VHI whose SetMovement fell behind and dropped edges, freezing the hand while every version gate passed). Compared as a dotted integer tuple. Empty — every build predating the field — is never refused on its own, only noted, because absence cannot distinguish an old build from a third-party target that does not version itself. The load-bearing compatibility check is vocabulary_version, not this.

public string TargetVersion { get; set; }

Property Value

System.String

ControlManifest.VocabularyVersion Property

The vocabulary's own version: a decimal integer, compared numerically, bumped when the addresses or the transport change in a way a client cannot absorb silently.

**Load-bearing, not informational.** A client declares the oldest version it can drive and refuses anything below it, by name, at bind. These are separately installed applications, so an upgrade on one side does not upgrade the other, and without this a mismatch is silent: an old target listening for a stream a new client no longer publishes reports no error at all — the rig simply never moves.

1 — a manifest carrying stream_name and channel; several controls could share one wider stream. Retired. 2 — one stream per DOF, named for the address, one channel wide.

public string VocabularyVersion { get; set; }

Property Value

System.String