Skip to content
EN FR

Stable invocation identity

Documentation status: reference — see Maturity and evidence.

Generated logiCells calls are identified by numeric IDs derived from canonical publication metadata.

The important pair is:

TypeId + MethodId

The call also carries a call kind such as constructor, static, instance, or release where the transport needs it.

Why IDs exist

Language-visible names are useful to developers but are not sufficient as a binary or remote dispatch key. Overloads, inheritance, renamed target-language identifiers, and language-specific escaping can change the textual surface without changing the underlying published member.

The generators therefore calculate IDs from canonical type and method signature keys before target-language projection.

Generated SDK use

The C# generator records TypeId for each generated class model and MethodId for generated methods and property accessors. These IDs are embedded into generated invocation descriptors.

A property getter and setter receive independent method identities. Callback properties are also detected as a distinct publication kind.

RPC reuse

RPC requests carry the same ABI-facing identity fields, including abiVersion, typeId, methodId, typeName, methodName, instanceId, and callKind.

Names remain useful for diagnostics and discovery, but numeric IDs are the dispatch identity.

Compatibility rule

Bindings should treat TypeId and MethodId as generated contract data. Application code should not calculate, hard-code, or reinterpret them.

If a publication change alters the canonical signature, regeneration is the safe path. Compatibility should be checked at Runtime/binding startup using ABI/runtime version and capability metadata rather than assuming IDs remain valid across incompatible publications.