Role
Local vs Remote
Use
pid.IsLocal() or pid.IsRemote() when location matters. pid.ActorSystem() returns nil for remote PIDs—guard before use.
Key methods
Obtaining a PID
- Spawn —
system.Spawn(ctx, name, actor)returns a local PID. - ActorOf —
system.ActorOf(ctx, name)returns local or remote PID. - Context —
ctx.Self()(current actor),ctx.Sender()(message sender).
NoSender
system.NoSender() returns a special PID for messages without a sender (e.g., scheduled messages, external clients). Use it when sending from outside the actor system. NoSender().Path() may be used for wire encoding.