IdentityParts
IdentityPart is 64bit identifier that indicates which part of the whole a node represents.
Avalanche.Utilities.Label8 is a struct that facilitates 0-8 character strings to UInt64 values. It is used to describe identity part.
Label8 partId = "ServerIx";
Implicit conversion mitigates between string and UInt64.
// Create label
Label8 partId = "ServerIx";
// Convert to ulong
ulong id = partId;
IdentityParts contains default part values.
Label8 partId = IdentityParts.Namespace;
Any new part identifier can be defined by 3rd party user.
Label8 partId = new Label8("HostName", "ServerHostName");
IdentityParts table.
Label8 | Long Name | Description |
---|---|---|
None | Node does not represent any part of identity. | |
Name | Name | |
Namespce | Namespace | |
NsIx | NamespaceIndex | Context-dependent index of namespace, that refers to a namespace on a table. |
Version | Version | Version, typically {major}.{minor}.{build}.{revision} |
Library | Library | |
PuKeyTkn | PublicKeyToken | |
Culture | Culture | |
Array | Array | Represents Array type. |
Hashcode | Hashcode | Hashcode, label is usually UInt32 or UInt64 |
Server | Server | Server name |
SrvIx | ServerIndex | Server index, refering to a context-dependent server table |
Scheme | Scheme | Scheme part of url, or "urn" for urn. |
Authrity | Authority | Authority part of url, e.g. "user@" or "user:password@". The label value excludes "@" |
Domain | Domain | Domain of host name part. Consecutive domain parts represent top and sub domains that are concatenated with "." separator. |
Port | Port | Network port. |
Path | Path | Path part. |
Fragment | Fragment | Fragment of URL, e.g. "#fragment", the label excludes "#". |
Query | Query | Query of URL, e.g. "?query", the label excludes "?". |