Packages

package guid

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package key
  2. package pool
  3. package selector
  4. package source
  5. package uns

Type Members

  1. class NumberPoolHub extends AnyRef

    A master object that manages NumberPools when they are applied to a single NumberSource.

    A master object that manages NumberPools when they are applied to a single NumberSource. 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 the NumberSource and can not be affected once this object is created.

  2. 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.

  3. class RegisteringException extends Exception
  4. 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.

  5. trait Task extends TaskBehaviors

    A primary unit of work in a workflow.

  6. sealed trait TaskBehaviors extends AnyRef

    Parts of the task resolution lifecycle.

  7. 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

  8. class TaskNotExecutedException extends Exception
  9. 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 the Zone for easy external access. The plain part - the NumberPoolHub here - is used for low-priority requests such as checking for existing associations.

    A four part process is used for object registration tasks. First, the requested NumberPool is located among the list of known NumberPools. 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 this Actor and the Map of NumberPoolActors is as a "gate." A single Map is constructed and shared between multiple entry points to the UID system where requests are messaged. Multiple entry points send messages to the same NumberPool. That NumberPool deals 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 the NumberPool selecting a number. (At least, both should be fast.)

  10. 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. This Actor persists to maintain the number pool Actors. Note the final do-nothing receive method. This Actor should do nothing through message passing.

    See also

    UniqueNumberOps

  11. class UnregisteringException extends Exception

Value Members

  1. object GUIDTask

    The basic compiled tasks for assigning (registering) and revoking (unregistering) globally unique identifiers.

    Almost all of these functions will be invoked from WorldSessionActor.

    The basic compiled tasks for assigning (registering) and revoking (unregistering) globally unique identifiers.

    Almost all of these functions will be invoked from WorldSessionActor. Some of the "unregistering" functions will invoke on delayed Service operations, indicating behavior that is not user/observer dependent. The object's (current) Zone must 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 an implicit parameter. 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 a TaskBundle container object or a list of TaskBundle container objects that is expected to be used by a TaskBundle container. 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.

  2. object TaskBundle extends Serializable
  3. object TaskWorkflow
  4. object UniqueNumberOps
  5. object UniqueNumberSetup

Ungrouped