scala.reactive

Channel

trait Channel[T] extends AnyRef

The Channel is the writing end of an isolate.

Every isolate is associated with a channel. Unlike reactive values or signals, channels can be used in a thread-safe way -- channels can be shared between isolates and their methods called from any isolate.

Events cannot be directly sent to a channel. Instead, reactive values can be attached to channels. All events that a reactive value produces from that point end up in the channel.

val r = new Reactive.Emitter[Int]
c.attach(r)

Once the seal method is called on the channel, no more reactive values can be attached to it.

c.seal()
c.attach(r) // this call will not attach a reactive

The isolate stops once its channel is sealed, and all the attached reactive values unreact. This indicates no more events will arrive to the isolate.

T

the type of events in this channel

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Channel
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def attach(r: Reactive[T]): Channel[T]

    Attaches a reactive value to this channel.

    Attaches a reactive value to this channel.

    This call has no effect if the reactive is already sealed.

    r

    the reactive to attach

    returns

    this reactive channel, to chain attach calls or call seal

  2. abstract def seal(): Channel[T]

    Seals this channel.

    Seals this channel.

    Once a seal is successful, no more attach calls will succeed.

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

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

    Implicit information
    This member is added by an implicit conversion from Channel[T] to ArrowAssoc[Channel[T]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def compose[S](f: (S) ⇒ T): Composed[T, S]

    Composes this channel with a custom mapping function for the input events.

    Composes this channel with a custom mapping function for the input events.

    Events from reactives passed to this channel are mapped inside their isolates.

    S

    type of the events the new channel will accept

    f

    maps events in the resulting channel to events of the original channel

    returns

    the new channel accepting events of type S

  11. def ensuring(cond: (Channel[T]) ⇒ Boolean, msg: ⇒ Any): Channel[T]

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

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

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

    Implicit information
    This member is added by an implicit conversion from Channel[T] to Ensuring[Channel[T]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def formatted(fmtstr: String): String

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

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

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

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

    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  26. def toString(): String

    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. def [B](y: B): (Channel[T], B)

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

Shadowed Implicit Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from Channel[T] to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (channel: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from Channel[T] to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (channel: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def x: Channel[T]

    Implicit information
    This member is added by an implicit conversion from Channel[T] to ArrowAssoc[Channel[T]] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (channel: ArrowAssoc[Channel[T]]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  2. def x: Channel[T]

    Implicit information
    This member is added by an implicit conversion from Channel[T] to Ensuring[Channel[T]] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (channel: Ensuring[Channel[T]]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Channel[T] to StringAdd

Inherited by implicit conversion any2stringfmt from Channel[T] to StringFormat

Inherited by implicit conversion any2ArrowAssoc from Channel[T] to ArrowAssoc[Channel[T]]

Inherited by implicit conversion any2Ensuring from Channel[T] to Ensuring[Channel[T]]

Ungrouped