Skip to main content

Module id

Module id 

Source
Expand description

Universal identifier types for the actor system.

Concrete grammar:

label        := lowercase letter, then lowercase letters, digits, `-`, or `_`,
                ending in a lowercase letter or digit
uid58        := base58(u64) using the Flickr alphabet
uid          := label | "<" uid58 ">"
proc-id      := label | "<" uid58 ">" | label "<" uid58 ">"
actor-id     := actor-part "." proc-id
actor-part   := label | "<" uid58 ">" | label "<" uid58 ">"
port-id      := actor-id ":" decimal-port

Singletons are self-documenting and therefore display as bare labels. Non-singleton ids display their semantic label, if any, outside the uid: label<uid58>. Unlabeled instances display as <uid58>.

Label is an RFC 1035-style label: up to 63 lowercase alphanumeric characters plus - or _, starting with a letter and ending with an alphanumeric.

Uid is either a singleton (identified by label) or an instance (identified by a random u64, with an optional label for display).

Structs§

ActorId
Identifies an actor within a process.
Label
An RFC 1035-style label: 1–63 chars, lowercase ASCII alphanumeric plus - or _, starting with a letter, ending with an alphanumeric character.
PortId
Identifies a port on an actor.
ProcId
Identifies a process in the actor system.

Enums§

Id
A Hyperactor id.
IdParseError
Errors that can occur when parsing a ProcId or ActorId from a string.
LabelError
Errors that can occur when constructing a Label.
Uid
A unique identifier.
UidParseError
Errors that can occur when parsing a Uid from a string.