Click or drag to resize
Akka.NETFSMTState, TData Class
Finite state machine (FSM) actor.
Inheritance Hierarchy
SystemObject
  Akka.ActorActorBase
    Akka.ActorFSMBase
      Akka.ActorFSMTState, TData
        Akka.Cluster.Tools.SingletonClusterSingletonManager

Namespace:  Akka.Actor
Assembly:  Akka (in Akka.dll) Version: 1.2.3.42 (1.2.3.42)
Syntax
public abstract class FSM<TState, TData> : FSMBase, 
	IListeners, IInternalSupportsTestFSMRef<TState, TData>

Type Parameters

TState
The state name type
TData
The state data type

The FSMTState, TData type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyListeners
Retrieves the support needed to interact with an actor's listeners.
Public propertyNextStateData
Protected propertySelf
Gets the self ActorRef
(Inherited from ActorBase.)
Protected propertySender
Gets the sending ActorRef of the current message
(Inherited from ActorBase.)
Public propertyStateData
Current state data
Public propertyStateName
Current state name
Top
Methods
  NameDescription
Public methodAroundPostRestart
Can be overridden to intercept calls to `PostRestart`. Calls `PostRestart` by default.
(Inherited from ActorBase.)
Public methodAroundPostStop
Can be overridden to intercept calls to `PostStop`. Calls `PostStop` by default..
(Inherited from ActorBase.)
Public methodAroundPreRestart
Can be overridden to intercept calls to `PreRestart`. Calls `PreRestart` by default.
(Inherited from ActorBase.)
Public methodAroundPreStart
Can be overridden to intercept calls to `PreStart`. Calls `PreStart` by default.
(Inherited from ActorBase.)
Protected methodAroundReceive
TBD
(Inherited from ActorBase.)
Protected methodBecome
Changes the actor's command behavior and replaces the current receive handler with the specified handler.
(Inherited from ActorBase.)
Protected methodBecomeStacked
Changes the actor's behavior and replaces the current receive handler with the specified handler. The current handler is stored on a stack, and you can revert to it by calling UnbecomeStacked
Remarks
Please note, that in order to not leak memory, make sure every call to BecomeStacked(Receive) is matched with a call to UnbecomeStacked.
(Inherited from ActorBase.)
Public methodCancelTimer
Cancel a named Timer, ensuring that the message is not subsequently delivered (no race.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGoTo(TState)
Produce transition to other state. Return this from a state function in order to effect the transition.
Public methodGoTo(TState, TData) Obsolete.
Obsolete. Use GoTo(nextStateName).Using(stateData) instead.
Public methodInitialize
Verify the existence of initial state and setup timers. This should be the last call within the constructor or PreStart and PostRestart(Exception).
Public methodIsTimerActive
Determines whether the named timer is still active. Returns true unless the timer does not exist, has previously been cancelled, or if it was a single-shot timer whose message was already received.
Protected methodLogTermination
By default, Failure is logged at error level and other reason types are not logged. It is possible to override this behavior.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOnTermination
Set the handler which is called upon termination of this FSM actor. Calling this method again will overwrite the previous contents.
Public methodOnTransition
Set handler which is called upon each state transition
Protected methodPostRestart
User overridable callback: By default it calls `PreStart()`.

Is called right AFTER restart on the newly created Actor to allow reinitialization after an Actor crash.

(Inherited from ActorBase.)
Protected methodPostStop (Overrides ActorBasePostStop.)
Protected methodPreRestart
User overridable callback: '''By default it disposes of all children and then calls `postStop()`.'''

Is called on a crashed Actor right BEFORE it is restarted to allow clean up of resources before Actor is terminated.

(Inherited from ActorBase.)
Protected methodPreStart
User overridable callback.

Is called when an Actor is started. Actors are automatically started asynchronously when created. Empty default implementation.

(Inherited from ActorBase.)
Protected methodReceive
Processor for user defined messages.
(Overrides ActorBaseReceive(Object).)
Protected methodSetReceiveTimeout

Defines the inactivity timeout after which the sending of a ReceiveTimeout message is triggered. When specified, the receive function should be able to handle a ReceiveTimeout message.

Please note that the receive timeout might fire and enqueue the ReceiveTimeout message right after another message was enqueued; hence it is not guaranteed that upon reception of the receive timeout there must have been an idle period beforehand as configured via this method.

Once set, the receive timeout stays in effect (i.e. continues firing repeatedly after inactivity periods). Pass in null to switch off this feature.

(Inherited from ActorBase.)
Public methodSetStateTimeout
Set the state timeout explicitly. This method can be safely used from within a state handler.
Public methodSetTimer
Schedule named timer to deliver message after given delay, possibly repeating. Any existing timer with the same name will automatically be canceled before adding the new timer.
Public methodStartWith
Sets the initial state for this FSM. Call this method from the constructor before the Initialize method. If different state is needed after a restart this method, followed by Initialize, can be used in the actor life cycle hooks PreStart and PostRestart(Exception).
Public methodStay
Produce "empty" transition descriptor. Return this from a state function when no state change is to be effected.
Public methodStop
Public methodStop(FSMBaseReason)
Produce change descriptor to stop this FSM actor with the specified FSMBaseReason.
Public methodStop(FSMBaseReason, TData)
Produce change descriptor to stop this FSM actor with the specified FSMBaseReason.
Protected methodSupervisorStrategy
TBD
(Inherited from ActorBase.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTransform
TBD
Protected methodUnbecomeStacked
Reverts the Actor behavior to the previous one on the behavior stack.
(Inherited from ActorBase.)
Protected methodUnhandled
Is called when a message isn't handled by the current behavior of the actor by default it fails with either a DeathPactException (in case of an unhandled Terminated message) or publishes an UnhandledMessage to the actor's system's EventStream
(Inherited from ActorBase.)
Public methodWhen
Public methodWhenUnhandled
Set handler which is called upon reception of unhandled FSM messages. Calling this method again will overwrite the previous contents.
Top
Fields
  NameDescription
Protected fieldDebugEvent
Can be set to enable debugging on certain actions taken by the FSM
Top
Extension Methods
See Also