class AccountPersistenceService extends Actor
A global service that manages user behavior as divided into the following three categories:
persistence (ongoing participation in the game world),
relogging (short-term client connectivity issue resolution), and
logout (end-of-life conditions involving the separation of a user from the game world).
A user polls this service and the service either creates a new PersistenceMonitor
entity
or returns whatever PersistenceMonitor
entity currently exists.
Performing informative updates to the monitor about the user's eventual player avatar instance
(which can be performed by messaging the service indirectly,
though sending directly to the monitor is recommended)
facilitate the management of persistence.
If connectivity issues with the client are encountered by the user,
within a reasonable amount of time to connection restoration,
the user may regain control of their existing persistence monitor and, thus, the same player avatar.
End of life is mainly managed by the monitors internally
and the monitors only communicate up to this service when executing their "end-of-life" operations.
- Alphabetic
- By Inheritance
- AccountPersistenceService
- Actor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new AccountPersistenceService()
Type Members
- type Receive = PartialFunction[Any, Unit]
- Definition Classes
- Actor
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def CreateNewPlayerToken(name: String): ActorRef
Enqueue a new persistency monitor object for this player.
Enqueue a new persistency monitor object for this player.
- name
the unique name of the player
- returns
the persistence monitor object
- def NextPlayerIndex(name: String): Int
Get the next account unique login index.
Get the next account unique login index. The index suggests the number of times the player has logged into the game. The main purpose is to give each player a meaninfgul ordinal number of logging agencies whose names did not interfere with each other (
Actor
name uniqueness).- name
the text personal descriptor used by the player
- returns
the next index for this player, starting at 0
- val Setup: Receive
Process the system event service hooks when they arrive, before starting proper persistence monitoring.
Process the system event service hooks when they arrive, before starting proper persistence monitoring.
- See also
ServiceManager.LookupResult
- val Started: Receive
Entry point for persistence monitoring setup.
Entry point for persistence monitoring setup. Primarily intended to deal with the initial condition of verifying/assuring of an enqueued persistence monitor. Updates to persistence can be received and will be distributed, if possible; but, updating should be reserved for individual persistence monitor callback (by the user who is being monitored).
- val accounts: Map[String, ActorRef]
an association of user test descriptors - player names - and their current monitor
key - player name, value - player monitor - def aroundPostRestart(reason: Throwable): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPostStop(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundPreStart(): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
- Attributes
- protected[akka]
- Definition Classes
- Actor
- Annotations
- @InternalApi()
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- implicit val context: ActorContext
- Definition Classes
- Actor
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- var galaxy: ActorRef
galaxy service event hook
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def postRestart(reason: Throwable): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- def postStop(): Unit
- Definition Classes
- AccountPersistenceService → Actor
- def preRestart(reason: Throwable, message: Option[Any]): Unit
- Definition Classes
- Actor
- Annotations
- @throws(classOf[java.lang.Exception])
- def preStart(): Unit
Retrieve the required system event service hooks.
Retrieve the required system event service hooks.
- Definition Classes
- AccountPersistenceService → Actor
- See also
ServiceManager.LookupResult
- def receive: Receive
- Definition Classes
- AccountPersistenceService → Actor
- implicit final val self: ActorRef
- Definition Classes
- Actor
- final def sender(): ActorRef
- Definition Classes
- Actor
- var squad: ActorRef
squad service event hook
- def supervisorStrategy: SupervisorStrategy
- Definition Classes
- Actor
- def switchToStarted(): Unit
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unhandled(message: Any): Unit
- Definition Classes
- Actor
- var userIndices: Map[String, Int]
an association of user text descriptors - player names - and their current monitor indices
key - player name, value - monitor index - final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()