trait
GetChan[+A] extends AnyRef
Abstract Value Members
-
abstract
def
get_!(): Either[Signal, (A, GetChan[A])]
-
abstract
def
poison(signal: Signal): Unit
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): java.lang.Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
Trait for blocking system-level input channels with blocking and message-at-a-time semantics.
This interface assumes that
get_!
andpoison
methods are invoked sequentially.This trait is useful to wrap legacy blocking input interfaces and can easily be wrapped in a non-blocking
IChan
using thewrap
method in the companion object (see the implementation of molecule.channel.Console for examples).Note that the pattern captured by this trait is safer than the observer pattern in multi-threaded settings because objects inheriting this class can maintain state in an immutable manner by returning their next state together with the next message.
The type of messages.