Class

org.suecarter.websocket

WebSocketComboWorker

Related Doc: package websocket

Permalink

abstract class WebSocketComboWorker extends Actor with ActorLogging with Stash with WebSocketCommon

Provides a UHTTP-enabled worker for an HTTP connection with the ability to deal with both REST and WebSocket messages.

Mostly copied from WebSocketServerWorker with workarounds for acking and stashing.

Linear Supertypes
WebSocketCommon, Stash, RequiresMessageQueue[DequeBasedMessageQueueSemantics], UnrestrictedStash, StashSupport, ActorLogging, Actor, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. WebSocketComboWorker
  2. WebSocketCommon
  3. Stash
  4. RequiresMessageQueue
  5. UnrestrictedStash
  6. StashSupport
  7. ActorLogging
  8. Actor
  9. AnyRef
  10. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new WebSocketComboWorker(connection: ActorRef)

    Permalink

Type Members

  1. type Receive = PartialFunction[Any, Unit]

    Permalink
    Definition Classes
    Actor

Abstract Value Members

  1. abstract def rest: Receive

    Permalink

    User-defined REST handler.

    User-defined REST handler.

    Defined as a Receive for performance (to allow sharing of Route between sessions).

  2. abstract def websockets: Receive

    Permalink

    User-defined websocket handler.

Concrete 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. def aroundPostRestart(reason: Throwable): Unit

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

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

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

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def closeLogic: Receive

    Permalink
    Definition Classes
    WebSocketComboWorker → WebSocketCommon
  12. val connection: ActorRef

    Permalink
    Definition Classes
    WebSocketComboWorker → WebSocketCommon
  13. implicit val context: ActorContext

    Permalink
    Definition Classes
    Actor
  14. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  18. def handshaking: Receive

    Permalink
  19. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  20. var headers: List[HttpHeader]

    Permalink
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. def log: LoggingAdapter

    Permalink
    Definition Classes
    ActorLogging
  23. final def ne(arg0: AnyRef): Boolean

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

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

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

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

    Permalink
    Definition Classes
    UnrestrictedStash → Actor
  28. def preRestart(reason: Throwable, message: Option[Any]): Unit

    Permalink
    Definition Classes
    UnrestrictedStash → Actor
  29. def preStart(): Unit

    Permalink
    Definition Classes
    Actor
    Annotations
    @throws( classOf[java.lang.Exception] )
  30. def receive: PartialFunction[Any, Unit]

    Permalink
    Definition Classes
    WebSocketComboWorker → Actor
  31. implicit final val self: ActorRef

    Permalink
    Definition Classes
    Actor
  32. def sendWithAck(frame: TextFrame, downstream: ActorRef): Unit

    Permalink

    Wandoulabs' WebSocket implementation doesn't support ack/nack-ing on the CommandFrame level.

    Wandoulabs' WebSocket implementation doesn't support ack/nack-ing on the CommandFrame level. But it is possible to drop down to TCP messages by duplicating their FrameRendering logic in the ServerWorker actor. Here we construct a payload that is ignored by the ConnectionManager which requests an Ack.

    A similar pattern could be applied for non-Text Frames and NACK based writing, in order to skip the FrameRendering logic.

    WARNING: callers should be aware of the implications of changing the state in this method. Multiple calls to this **must not** be made in the same receive block, or the earlier Acks will be missed.

    For more information, see https://groups.google.com/d/msg/akka-user/ckUJ9wlltuc/h37ZRCkAA6cJ

    Definition Classes
    WebSocketCommon
  33. final def sender(): ActorRef

    Permalink
    Definition Classes
    Actor
  34. def stash(): Unit

    Permalink
    Definition Classes
    StashSupport
  35. def stashing: Receive

    Permalink
    Definition Classes
    WebSocketCommon
  36. def supervisorStrategy: SupervisorStrategy

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

    Permalink
    Definition Classes
    AnyRef
  38. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  39. def unhandled(message: Any): Unit

    Permalink
    Definition Classes
    Actor
  40. def unstashAll(): Unit

    Permalink
    Definition Classes
    StashSupport
  41. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. def waitingForAck(downstream: ActorRef, sending: Frame): Receive

    Permalink
    Definition Classes
    WebSocketCommon
  45. def waitingForRecovery(frame: Frame): Receive

    Permalink
    Definition Classes
    WebSocketCommon

Inherited from WebSocketCommon

Inherited from Stash

Inherited from RequiresMessageQueue[DequeBasedMessageQueueSemantics]

Inherited from UnrestrictedStash

Inherited from StashSupport

Inherited from ActorLogging

Inherited from Actor

Inherited from AnyRef

Inherited from Any

Ungrouped