package guid
- Alphabetic
- Public
- Protected
Type Members
- class NumberPoolHub extends AnyRef
A master object that manages
NumberPools when they are applied to a singleNumberSource.A master object that manages
NumberPools when they are applied to a singleNumberSource. It catalogs the numbers and ensures the pool contents are unique to each other.
All globally unique numbers are sorted into user-defined groups called pools. Pools are intended to pre-allocate certain numbers to certain tasks. Two default pools also exist - "generic," for all numbers not formally placed into a pool, and a hidden restricted pool. The former can accept a variety of numbers on the source not known at initialization time loaded into it. The latter can only be set by theNumberSourceand can not be affected once this object is created. - class RegisteredToWrongPlaceException extends RuntimeException
The entity was registered, but not to the target UNS.
The entity was registered, but not to the target UNS. Rookie mistake.
- class RegisteringException extends Exception
- trait StraightforwardTask extends Task
A primary unit of work in a workflow that is set up to execute and never be taken back.
A primary unit of work in a workflow that is set up to execute and never be taken back. Good for top-level tasking that only reports on the success of work carried out by subtasks.
- trait Task extends TaskBehaviors
A primary unit of work in a workflow.
- sealed trait TaskBehaviors extends AnyRef
Parts of the task resolution lifecycle.
- final case class TaskBundle(mainTask: Task, subTasks: Seq[TaskBundle]) extends TaskBehaviors with Product with Serializable
The packaging of a more complicated unit of work in a workflow in which one task relies on the successful completion of other tasks.
The packaging of a more complicated unit of work in a workflow in which one task relies on the successful completion of other tasks.
- mainTask
the primary task
- subTasks
tasks that are necessary to complete before starting on the primary one
- class TaskNotExecutedException extends Exception
- class UniqueNumberOps extends AnyRef
Wrap around converted
NumberPools and synchronize a portion of the number registration process as a part of the global unique identifier (GUID, UID) number system (UNS, "unique number system").Wrap around converted
NumberPools and synchronize a portion of the number registration process as a part of the global unique identifier (GUID, UID) number system (UNS, "unique number system"). The ultimate goal is to manage a coherent group of unique identifiers for a given "region". Both parts of the UID system sit atop theZonefor easy external access. The plain part - theNumberPoolHubhere - is used for low-priority requests such as checking for existing associations.
A four part process is used for object registration tasks. First, the requestedNumberPoolis located among the list of knownNumberPools. Second, an asynchronous request is sent to that pool to retrieve a number. (Only any number. Only a failing case allows for selection of a specific number.) Third, the asynchronous request returns and the original information about the request is recovered. Fourth, both sides of the contract are completed by the object being assigned the number and the underlying "number source" is made to remember an association between the object and the number. Short circuits and recoveries as available on all steps though reporting is split between logging and callbacks. The process of removing the association between a number and object (unregistering) is a similar four part process.
The important relationship between thisActorand theMapofNumberPoolActorsis as a "gate." A singleMapis constructed and shared between multiple entry points to the UID system where requests are messaged. Multiple entry points send messages to the sameNumberPool. ThatNumberPooldeals with the messages one at a time and sends reply to each entry point that communicated with it. This process is almost as fast as the process of theNumberPoolselecting a number. (At least, both should be fast.) - class UniqueNumberSetup extends Actor
A class for spawning
Actors to manage the number pools and create a number system operations class to access those pools within the context of registering and unregistering.A class for spawning
Actors to manage the number pools and create a number system operations class to access those pools within the context of registering and unregistering. ThisActorpersists to maintain the number poolActors. Note thefinaldo-nothingreceivemethod. ThisActorshould do nothing through message passing.- See also
UniqueNumberOps
- class UnregisteringException extends Exception
Value Members
- object GUIDTask
The basic compiled tasks for assigning (registering) and revoking (unregistering) globally unique identifiers.
Almost all of these functions will be invoked fromWorldSessionActor.The basic compiled tasks for assigning (registering) and revoking (unregistering) globally unique identifiers.
Almost all of these functions will be invoked fromWorldSessionActor. Some of the "unregistering" functions will invoke on delayedServiceoperations, indicating behavior that is not user/observer dependent. The object's (current)Zonemust also be knowable since the GUID systems are tied to individual zones. For simplicity, all functions have the same format where the hook into the GUID system is animplicitparameter. It will get passed from the more complicated functions down into the less complicated functions, until it has found the basic number assignment functionality.
All functions produce aTaskBundlecontainer object or a list ofTaskBundlecontainer objects that is expected to be used by aTaskBundlecontainer. These "task containers" can also be unpackaged into their component tasks, sorted into other containers, and combined with other tasks to enact more complicated sequences of operations. Almost all tasks have an explicit registering and an unregistering activity defined for it. - object TaskBundle extends Serializable
- object TaskWorkflow
- object UniqueNumberOps
- object UniqueNumberSetup