Module reference

Source
Expand description

References for different resources in Hyperactor.

The “Id” variants are transparent and typeless, whereas the corresponding “Ref” variants are opaque and typed. The latter intended to be exposed in user-facing APIs. We provide std::convert::From implementations between Id and Refs where this makes sense.

All system implementations use the same concrete reference representations, as their specific layout (e.g., actor index, rank, etc.) are used by the core communications algorithms throughout.

References and ids are crate::Messages to facilitate passing them between actors.

Macros§

id
Statically create a WorldId, ProcId, ActorId or GangId, given the concrete syntax documented in Reference:

Structs§

ActorId
Actors are identified by their proc, their name, and pid.
ActorRef
ActorRefs are typed references to actors.
GangId
Gangs identify a gang of actors across the world.
GangRef
GangRefs are typed references to gangs.
OncePortRef
A remote reference to a [OncePort]. References are serializable and may be passed to remote actors, which can then use it to send a message to this port.
PortId
Port ids identify [crate::mailbox::Port]s of an actor.
PortRef
A reference to a remote port. All messages passed through PortRefs will be serialized.
UnboundPort
The parameters extracted from PortRef to Bindings.
WorldId
WorldId identifies a world within a [crate::system::System]. The index of a World uniquely identifies it within a system instance.

Enums§

ProcId
Procs are identified by their rank within a world or by a direct channel address. Each proc represents an actor runtime that can locally route to all of its constituent actors.
Reference
A universal reference to hierarchical identifiers in Hyperactor.
ReferenceParsingError
The type of error encountered while parsing references.

Type Aliases§

Index
Index is a type alias representing a value that can be used as an index into a sequence.