Class/Object

services

RemoverActor

Related Docs: object RemoverActor | package services

Permalink

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
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RemoverActor
  2. SupportActor
  3. Actor
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RemoverActor()

    Permalink

Type Members

  1. type Receive = PartialFunction[Any, Unit]

    Permalink
    Definition Classes
    Actor

Abstract Value Members

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

    Permalink

    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): GiveTask

    Permalink

    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

    Permalink

    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

    Permalink

    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

    Permalink

    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

    Permalink

    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

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to any2stringadd[RemoverActor] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (RemoverActor, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to ArrowAssoc[RemoverActor] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def ClearAll(): Unit

    Permalink

    No entries in the first pool.

    No entries in the first pool.

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

    Permalink

    Remove specific entries from the first pool.

    Remove specific entries from the first pool.

    Definition Classes
    RemoverActorSupportActor
  8. def FinalTask(entry: Entry): GiveTask

    Permalink
  9. def HurryAll(): Unit

    Permalink

    Expedite all entries from the first pool into the second.

    Expedite all entries from the first pool into the second.

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

    Permalink

    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
  11. def PartitionTargetsFromList(list: List[Entry], targets: List[Entry], zone: Zone, comparator: SimilarityComparator[Entry] = sameEntryComparator): (List[Entry], List[Entry])

    Permalink
    Definition Classes
    SupportActor
  12. def Processing: Receive

    Permalink
  13. def RetimeFirstTask(now: Long = System.nanoTime): Unit

    Permalink

    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)

  14. def SecondJob(entry: Entry): Unit

    Permalink
  15. def aroundPostRestart(reason: Throwable): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  16. def aroundPostStop(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  17. def aroundPreRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  18. def aroundPreStart(): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  19. def aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit

    Permalink
    Attributes
    protected[akka]
    Definition Classes
    Actor
  20. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  21. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. implicit val context: ActorContext

    Permalink
    Definition Classes
    Actor
  23. def debug(msg: String): Unit

    Permalink
    Definition Classes
    SupportActor
  24. def ensuring(cond: (RemoverActor) ⇒ Boolean, msg: ⇒ Any): RemoverActor

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to Ensuring[RemoverActor] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  25. def ensuring(cond: (RemoverActor) ⇒ Boolean): RemoverActor

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to Ensuring[RemoverActor] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  26. def ensuring(cond: Boolean, msg: ⇒ Any): RemoverActor

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to Ensuring[RemoverActor] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  27. def ensuring(cond: Boolean): RemoverActor

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to Ensuring[RemoverActor] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  28. def entryManagementBehaviors: Receive

    Permalink
    Definition Classes
    SupportActor
  29. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  30. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  31. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. var firstHeap: List[Entry]

    Permalink

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

  33. var firstTask: Cancellable

    Permalink

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

  34. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to StringFormat[RemoverActor] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  35. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  36. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  37. def info(msg: String): Unit

    Permalink
    Definition Classes
    SupportActor
  38. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  39. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  40. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  41. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  42. def postRestart(reason: Throwable): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  43. def postStop(): Unit

    Permalink

    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
  44. def preRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  45. def preStart(): Unit

    Permalink

    Send the initial message that requests a task resolver for assisting in the removal process.

    Send the initial message that requests a task resolver for assisting in the removal process.

    Definition Classes
    RemoverActor → Actor
  46. def receive: Receive

    Permalink
    Definition Classes
    RemoverActor → Actor
  47. val sameEntryComparator: SimilarityComparator[Entry]

    Permalink
    Definition Classes
    RemoverActorSupportActor
  48. var secondHeap: List[Entry]

    Permalink

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

  49. var secondTask: Cancellable

    Permalink

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

  50. implicit final val self: ActorRef

    Permalink
    Definition Classes
    Actor
  51. final def sender(): ActorRef

    Permalink
    Definition Classes
    Actor
  52. def supervisorStrategy: SupervisorStrategy

    Permalink
    Definition Classes
    Actor
  53. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  54. var taskResolver: ActorRef

    Permalink
    Attributes
    protected
  55. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  56. def trace(msg: String): Unit

    Permalink
    Definition Classes
    SupportActor
  57. def unhandled(message: Any): Unit

    Permalink
    Definition Classes
    Actor
  58. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  60. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. def [B](y: B): (RemoverActor, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from RemoverActor to ArrowAssoc[RemoverActor] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from SupportActor[Entry]

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from RemoverActor to any2stringadd[RemoverActor]

Inherited by implicit conversion StringFormat from RemoverActor to StringFormat[RemoverActor]

Inherited by implicit conversion Ensuring from RemoverActor to Ensuring[RemoverActor]

Inherited by implicit conversion ArrowAssoc from RemoverActor to ArrowAssoc[RemoverActor]

Ungrouped