Class

org.suecarter.websocket

HighPriorityAckMailbox

Related Doc: package websocket

Permalink

case class HighPriorityAckMailbox(settings: Settings, config: Config) extends PriorityUnboundedDequeMailbox with Product with Serializable

When using context.become to wait for an Ack, then Ack will normally be placed at the end of the queue. This custom mailbox will prioritise Ack messages so that they are always placed at the front of the queue.

This showed a performance improvement of 1 hour to 2 minutes when sending about 100,000 messages, as the client actor was spending the vast majority of its time traversing the work queue and re-stashing messages.

Linear Supertypes
Serializable, Serializable, Product, Equals, PriorityUnboundedDequeMailbox, ProducesMessageQueue[MessageQueue], MailboxType, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. HighPriorityAckMailbox
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. PriorityUnboundedDequeMailbox
  7. ProducesMessageQueue
  8. MailboxType
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HighPriorityAckMailbox(settings: Settings, config: Config)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. val config: Config

    Permalink
  7. final def create(owner: Option[ActorRef], system: Option[ActorSystem]): MessageQueue

    Permalink
    Definition Classes
    PriorityUnboundedDequeMailbox → MailboxType
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef
  15. def priority(e: Envelope): Boolean

    Permalink

    When true, the queue will place this envelope at the front of the queue (as if it was just stashed).

    When true, the queue will place this envelope at the front of the queue (as if it was just stashed).

    Definition Classes
    HighPriorityAckMailboxPriorityUnboundedDequeMailbox
  16. val settings: Settings

    Permalink
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ProducesMessageQueue[MessageQueue]

Inherited from MailboxType

Inherited from AnyRef

Inherited from Any

Ungrouped