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.