Skip to main content

Internal classes

These classes are part of Nexus's runtime implementation but are not part of the public API surface. They are tagged @internal in source so they do not appear in the public sidebar of api.nexusactors.com.

Their HTML pages still exist for deep-links; this page lists them so you know they are there and why they are hidden.

Do not depend on these classes directly. If a use case calls for it, file an issue so we can discuss promoting the relevant API to public.

Behavior wrappers (11)

These classes are the concrete sentinels and decorators returned by the public Behavior factory methods. Users call the factories — Behavior::same(), Behavior::receive(), etc. — and hold them as opaque Behavior<T> values. The concrete wrapper type is an implementation detail of ActorCell.

ClassWhy internal
EmptyBehaviorSentinel returned internally before the first behavior is set. Never constructed by users.
SameBehaviorSentinel returned by Behavior::same(). Users call the factory, never construct directly.
StoppedBehaviorSentinel returned by Behavior::stopped(). Users call the factory, never construct directly.
UnhandledBehaviorSentinel returned by Behavior::unhandled(). Routes message to dead letters — implementation detail.
SupervisedBehaviorWraps a behavior under supervision restart. Created by ActorCell during fault recovery.
SetupBehaviorLazy-init wrapper returned by Behavior::setup(). Resolved to a concrete behavior on first message.
ReceiveBehaviorClosure-based behavior returned by Behavior::receive(). Holds the handler closure internally.
WithStashBehaviorBehavior decorator that activates the stash buffer. Used by ActorCell internals.
WithStateBehaviorStateful closure behavior returned by Behavior::withState(). Holds state and handler.
WithTimersBehaviorBehavior decorator that attaches a TimerScheduler. Managed by ActorCell.
UnstashAllBehaviorSentinel that triggers draining the stash buffer. Internal to stash machinery.

Engine / Runtime (8)

Implementation classes behind public interfaces and factory methods. Users interact with their public interfaces (ActorRef<T>, ActorPath, StashBuffer, etc.) and never construct these directly.

ClassWhy internal
ActorCellRuntime container for one actor's lifecycle and message loop. Implementation detail of ActorSystem::spawn().
DefaultStashBufferDefault stash buffer implementation. The StashBuffer interface is public; this impl is an internal detail.
DefaultTimerSchedulerDefault timer scheduler implementation. Users access timers via ActorContext::scheduleOnce().
LocalActorRefConcrete ActorRef for in-process actors. Users hold the ActorRef<T> interface, not this class.
DeadLetterRefNull-object ActorRef for undeliverable messages. Users access via ActorSystem::deadLetters().
FutureRefTemporary ActorRef created for ask() replies. Created and destroyed per request.
TaskContextInternal context used during ask() future resolution. Not user-facing.
ActorStateEnum of internal lifecycle states (New, Starting, Running, etc.). A private detail of ActorCell.

Context / Support (4)

Helper types that are shared internally between subsystems but not surfaced to application code.

ClassWhy internal
LocalActorPathConcrete ActorPath for in-process actors. Implementation detail of path creation.
RemoteActorPathConcrete ActorPath for remote actors. Implementation detail of cluster path parsing.
ActorPathContractInternal interface shared between LocalActorPath and RemoteActorPath. Not a public API contract.
NullDispatcherNo-op PSR-14 EventDispatcherInterface used when no dispatcher is provided. Internal default.

System messages (6)

Internal control messages sent between ActorCell instances by the framework. These are never sent by user code directly — users send domain messages via tell() or ask(), and the framework manages system messages automatically.

ClassWhy internal
WatchSent internally to register a death-watch subscription between actors.
UnwatchSent internally to cancel a death-watch subscription.
SuspendSent internally to pause an actor's message processing (e.g. during supervision).
ResumeSent internally to resume a suspended actor after supervision completes.
KillSent internally for a forced stop that bypasses graceful shutdown.
SystemMessageMarker interface for all of the above internal system messages.