Packages

abstract class RemoverActor extends SupportActor[Entry]

The base class for a type of "destruction Actor" intended to be used for delaying object cleanup activity. Objects submitted to this process should be registered to a global unique identified system for a given region as is specified in their submission.

Two waiting lists are used to pool the objects being removed. The first list is a basic pooling list that precludes any proper removal actions and is almost expressly for delaying the process. Previously-submitted tasks can be removed from this list so long as a matching object can be found. Tasks in this list can also be expedited into the second list without having to consider delays. After being migrated to the secondary list, the object is considered beyond the point of no return. Followup activity will lead to its inevitable unregistering and removal.

Functions have been provided for override in order to interject the appropriate cleanup operations. The activity itself is typically removing the object in question from a certain list, dismissing it with a mass distribution of ObjectDeleteMessage packets, and finally unregistering it. Some types of object have (de-)implementation variations which should be made explicit through the overrides.

Source
RemoverActor.scala
Linear Supertypes
SupportActor[Entry], Actor, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RemoverActor
  2. SupportActor
  3. Actor
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new RemoverActor()

Type Members

  1. type Receive = PartialFunction[Any, Unit]
    Definition Classes
    Actor

Abstract Value Members

  1. abstract def ClearanceTest(entry: Entry): Boolean

    Performed to determine when an entry can be shifted off from the second list.

    Performed to determine when an entry can be shifted off from the second list. Override.

    entry

    the entry

  2. abstract def DeletionTask(entry: Entry): TaskBundle

    The specific action that is necessary to complete the removal process.

    The specific action that is necessary to complete the removal process. Override.

    entry

    the entry

    See also

    GUIDTask

  3. abstract def FirstJob(entry: Entry): Unit

    Performed when the entry is shifted from the first list to the second list.

    Performed when the entry is shifted from the first list to the second list. Override.

    entry

    the entry

  4. abstract def FirstStandardDuration: FiniteDuration

    Default time for entries waiting in the first list.

    Default time for entries waiting in the first list. Override.

    returns

    the time as a FiniteDuration object (to be later transformed into nanoseconds)

  5. abstract def InclusionTest(entry: Entry): Boolean

    Determine whether or not the resulting entry is valid for this process.

    Determine whether or not the resulting entry is valid for this process. The primary purpose of this function should be to determine if the appropriate type of object is being submitted. Override.

    entry

    the entry

    returns

    true, if it can be processed; false, otherwise

    Definition Classes
    SupportActor
  6. abstract def InitialJob(entry: Entry): Unit

    Performed when the entry is initially added to the first list.

    Performed when the entry is initially added to the first list. Override.

    entry

    the entry

  7. abstract def SecondStandardDuration: FiniteDuration

    Default time for entries waiting in the second list.

    Default time for entries waiting in the second list. Override.

    returns

    the time as a FiniteDuration object (to be later transformed into nanoseconds)

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def ClearAll(): Unit

    No entries in the first pool.

    No entries in the first pool.

    Definition Classes
    RemoverActorSupportActor
  5. def ClearSpecific(targets: List[PlanetSideGameObject], zone: Zone): Unit

    Remove specific entries from the first pool.

    Remove specific entries from the first pool.

    Definition Classes
    RemoverActorSupportActor
  6. def FinalTask(entry: Entry): TaskBundle
  7. def HurryAll(): Unit

    Expedite all entries from the first pool into the second.

    Expedite all entries from the first pool into the second.

    Definition Classes
    RemoverActorSupportActor
  8. def HurrySpecific(targets: List[PlanetSideGameObject], zone: Zone): Unit

    Expedite some entries from the first pool into the second.

    Expedite some entries from the first pool into the second.

    targets

    a list of objects to pick

    zone

    the zone in which these objects must be discovered; all targets must be in this zone, with the assumption that this is the zone where they were registered

    Definition Classes
    RemoverActorSupportActor
  9. def PartitionTargetsFromList(list: List[Entry], targets: List[Entry], zone: Zone, comparator: SimilarityComparator[Entry] = sameEntryComparator): (List[Entry], List[Entry])
    Definition Classes
    SupportActor
  10. def RetimeFirstTask(now: Long = System.nanoTime): Unit

    Common function to reset the first task's delayed execution.

    Common function to reset the first task's delayed execution. Cancels the scheduled timer and will only restart the timer if there is at least one entry in the first pool.

    now

    the time (in nanoseconds); defaults to the current time (in nanoseconds)

  11. def SecondJob(entry: Entry): Unit
  12. def aroundPostRestart(reason: Throwable): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  13. def aroundPostStop(): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  14. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  15. def aroundPreStart(): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  16. def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
    Attributes
    protected[akka]
    Definition Classes
    Actor
    Annotations
    @InternalApi()
  17. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  18. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  19. implicit val context: ActorContext
    Definition Classes
    Actor
  20. def debug(msg: String): Unit
    Definition Classes
    SupportActor
  21. def entryManagementBehaviors: Receive
    Definition Classes
    SupportActor
  22. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  24. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  25. var firstHeap: List[Entry]

    The first pool of objects waiting to be processed for removal.

  26. var firstTask: Cancellable

    The timer that checks whether entries in the first pool are still eligible for that pool.

  27. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  29. def info(msg: String): Unit
    Definition Classes
    SupportActor
  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. def postRestart(reason: Throwable): Unit
    Definition Classes
    Actor
    Annotations
    @throws(classOf[java.lang.Exception])
  35. def postStop(): Unit

    Sufficiently clean up the current contents of these waiting removal jobs.

    Sufficiently clean up the current contents of these waiting removal jobs. Cancel all timers, rush all entries in the lists through their individual steps, then empty the lists. This is an improved HurryAll, but still faster since it also railroads entries through the second queue as well.

    Definition Classes
    RemoverActor → Actor
  36. def preRestart(reason: Throwable, message: Option[Any]): Unit
    Definition Classes
    Actor
    Annotations
    @throws(classOf[java.lang.Exception])
  37. def preStart(): Unit
    Definition Classes
    Actor
    Annotations
    @throws(classOf[java.lang.Exception])
  38. def receive: Receive
    Definition Classes
    RemoverActor → Actor
  39. val sameEntryComparator: SimilarityComparator[Entry]
    Definition Classes
    RemoverActorSupportActor
  40. var secondHeap: List[Entry]

    The second pool of objects waiting to be processed for removal.

  41. var secondTask: Cancellable

    The timer that checks whether entries in the second pool are still eligible for that pool.

  42. implicit final val self: ActorRef
    Definition Classes
    Actor
  43. final def sender(): ActorRef
    Definition Classes
    Actor
  44. def supervisorStrategy: SupervisorStrategy
    Definition Classes
    Actor
  45. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  46. def toString(): String
    Definition Classes
    AnyRef → Any
  47. def trace(msg: String): Unit
    Definition Classes
    SupportActor
  48. def unhandled(message: Any): Unit
    Definition Classes
    Actor
  49. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  50. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  51. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from SupportActor[Entry]

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped