Object

org.zalando.scarl

Scarl

Related Doc: package scarl

Permalink

object Scarl

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Scarl
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Egress(to: Any, message: Any) extends Envelop with Product with Serializable

    Permalink
  2. abstract class Envelop extends AnyRef

    Permalink
  3. type \[A] = (A) ⇒ Nothing

    Permalink

    the Scala system can communicate with any remote Erlang process using either direct process reference (pid) or abstarct name (aka akka path) The direct reference is type of OtpErlangPid, the abstract name is tuple of (String, String).

    the Scala system can communicate with any remote Erlang process using either direct process reference (pid) or abstarct name (aka akka path) The direct reference is type of OtpErlangPid, the abstract name is tuple of (String, String). The wired data are tuples, and the tuple structure is application protocol outside of scarl implementation (it is a messanger)

    The library uses concept of Envelope to express communication intent. Envelop contains the destination address and message. The union type is required to model the message destination [OtpErlangPid or (String, String)] The Curry-Howard isomorphism is elegant solution on union type https://issues.scala-lang.org/browse/SI-3749 http://milessabin.com/blog/2011/06/09/scala-union-types-curry-howard/

  4. type \\[A] = (\[A]) ⇒ Nothing

    Permalink
  5. type u[A, B] = AnyRef { type E[X] = <:<[org.zalando.scarl.Scarl.\\[X],org.zalando.scarl.Scarl.v[A,B]] }

    Permalink
  6. type v[A, B] = (\[A] with \[B]) ⇒ Nothing

    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. def apply(node: String, dist: Listener = Listener())(implicit sys: ActorSystem): ActorRef

    Permalink

    start scarl application, create default node with give name.

    start scarl application, create default node with give name. it returns reference to root supervisor

    node

    default node name

    dist

    distribution listener interface specification

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def bind(node: String, mbox: String, actor: (Any) ⇒ Option[Envelop])(implicit sys: ActorSystem): ActorRef

    Permalink
  7. def bind(node: String, mbox: String, actor: ActorRef)(implicit sys: ActorSystem): ActorRef

    Permalink

    bind actor to external mailbox on defined node

    bind actor to external mailbox on defined node

    node

    node name

    mbox

    mbox unique mailbox name

    actor

    either ref to existed actor of lambda expression

    sys

    implicit reference to actor system

  8. def bind(mbox: String, actor: (Any) ⇒ Option[Envelop])(implicit sys: ActorSystem): ActorRef

    Permalink
  9. def bind(mbox: String, actor: ActorRef)(implicit sys: ActorSystem): ActorRef

    Permalink

    bind actor to external mailbox on default node

    bind actor to external mailbox on default node

    mbox

    unique mailbox name, the name is used as process address to send a message

    actor

    either ref to existed actor of lambda expression

    sys

    implicit reference to actor system

  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def envelop[T](to: T, message: Any)(implicit arg0: <:<[((T) ⇒ Nothing) ⇒ Nothing, ((OtpErlangPid) ⇒ Nothing with ((String, String)) ⇒ Nothing) ⇒ Nothing]): Some[Egress]

    Permalink

    build envelop

    build envelop

    T

    either OptErlangPid or (String, String) process identity

    to

    destination address

    message

    communication message

  12. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  21. def spawn(node: String)(implicit sys: ActorSystem): ActorRef

    Permalink

    spawn new node on existing interface

    spawn new node on existing interface

    node

    locally unique node name

    sys

    implicit reference to actor system

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  24. val uid: String

    Permalink

    application id

  25. final def wait(): Unit

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped