Trait

pl.metastack.metarx

StateChannel

Related Doc: package metarx

Permalink

trait StateChannel[T] extends Channel[T] with ReadStateChannel[T] with ChannelDefaultDispose[T]

In Rx terms, a StateChannel can be considered a cold observable.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StateChannel
  2. ChannelDefaultDispose
  3. ReadStateChannel
  4. Channel
  5. Bind
  6. WriteChannel
  7. Subscribe
  8. Produce
  9. ReadChannel
  10. Disposable
  11. Publish
  12. Flush
  13. PartialChannel
  14. Size
  15. Cache
  16. MapExtended
  17. Map
  18. Filter
  19. Aggregate
  20. Is
  21. Fold
  22. Take
  23. Tail
  24. Head
  25. AnyRef
  26. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class WithFilter extends AnyRef

    Permalink
    Definition Classes
    ReadChannel

Abstract Value Members

  1. abstract def flush(f: (T) ⇒ Unit): Unit

    Permalink
    Definition Classes
    WriteChannel
  2. abstract def get: T

    Permalink
    Definition Classes
    ReadStateChannel
  3. abstract def size: ReadChannel[Int]

    Permalink

    Definition Classes
    Size
    Note

    State channels: Produce when a new child is attached and if the size changes. In Opt the size is reset if the value is cleared.

    ,

    Channels: The size is only produced in response to each received value on the channel.

    ,

    Buffers: Produce the row count once a row is added or removed.

Concrete Value Members

  1. def !(value: T): Unit

    Permalink

    Definition Classes
    Produce
    See also

    produce

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def !==(value: ReadChannel[T]): ReadChannel[Boolean]

    Permalink
    Definition Classes
    Is
  4. def !==(value: T): ReadChannel[Boolean]

    Permalink
    Definition Classes
    Is
  5. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  6. def :=(value: T): Unit

    Permalink

    See also

    set

  7. def <<(ch: ReadChannel[T]): ReadChannel[Unit]

    Permalink
    Definition Classes
    Subscribe
  8. def <<>>(other: Channel[T]): Unit

    Permalink
    Definition Classes
    Bind
  9. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def ===(value: ReadChannel[T]): ReadChannel[Boolean]

    Permalink
    Definition Classes
    Is
  11. def ===(value: T): ReadChannel[Boolean]

    Permalink
    Definition Classes
    Is
  12. def >>(ch: WriteChannel[T]): ReadChannel[Unit]

    Permalink
    Definition Classes
    Publish
  13. def all(value: T): ReadChannel[Boolean]

    Permalink

    All elements are equal to value

    All elements are equal to value

    Definition Classes
    Filter
    See also

    any

  14. def any(value: T): ReadChannel[Boolean]

    Permalink

    At least one element is equal to value

    At least one element is equal to value

    Definition Classes
    Filter
    See also

    all

  15. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  16. def attach(f: (T) ⇒ Unit): ReadChannel[Unit]

    Permalink
    Definition Classes
    ReadChannel
  17. def biMap[U](f: (T) ⇒ U, g: (U) ⇒ T): Channel[U]

    Permalink
    Definition Classes
    Channel
  18. def bind(other: Channel[T], ignoreOther: ReadChannel[Unit]): Unit

    Permalink
    Definition Classes
    Channel
  19. def bind(other: Channel[T]): Unit

    Permalink

    Two-way binding; synchronises this and other.

    Two-way binding; synchronises this and other.

    Definition Classes
    ChannelBind
  20. def buffer: Buffer[T]

    Permalink

    Buffers all produced elements

    Buffers all produced elements

    Definition Classes
    ReadChannel
  21. def cache(default: T): ReadStateChannel[T]

    Permalink
    Definition Classes
    ReadChannelCache
  22. def cache: ReadPartialChannel[T]

    Permalink
    Definition Classes
    ReadChannelCache
  23. def child(): ReadChannel[T]

    Permalink
    Definition Classes
    ReadChannel
  24. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. def collect[U](f: PartialFunction[T, U]): ReadChannel[U]

    Permalink

    Applies partial function f on each element; if the function is not defined for the current input, it is filtered out

    Applies partial function f on each element; if the function is not defined for the current input, it is filtered out

    Definition Classes
    ReadChannelMapExtended
  26. def contains[U](value: U)(implicit ev: <:<[T, Option[U]]): ReadChannel[Boolean]

    Permalink
    Definition Classes
    ReadChannelPartialChannel
  27. def count(implicit ev: <:<[T, Option[_]]): ReadChannel[Int]

    Permalink
    Definition Classes
    ReadChannelPartialChannel
  28. def count(value: T): ReadChannel[Int]

    Permalink

    Count number of occurrence of value.

    Count number of occurrence of value.

    Definition Classes
    Filter
    Note

    Channels: With every matching element, the counter is increased.

    ,

    Buffers: When the element is removed, the counter is decreased.

  29. def detach(ch: ChildChannel[T, _]): Unit

    Permalink
    Definition Classes
    ReadChannel
  30. def dispose(): Unit

    Permalink
    Definition Classes
    ChannelDefaultDispose
  31. def distinct: ReadChannel[T]

    Permalink

    Filters out (merges) duplicates

    Filters out (merges) duplicates

    Definition Classes
    ReadChannelAggregate
  32. def drop(count: Int): ReadChannel[T]

    Permalink

    Definition Classes
    ReadChannelTake
    Note

    Channels: Skips first count elements, then stop listening. Subscribing to it will always yield the last result as initial value.

    ,

    Buffers: Creates a sub-buffer without the first count elements.

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  35. def exists(f: (T) ⇒ Boolean): ReadChannel[Boolean]

    Permalink

    Checks for existence of a value for which f is true

    Checks for existence of a value for which f is true

    Definition Classes
    Filter
    Note

    Channels: false as long as f returns false, then true

    ,

    Buffers: false as long as no row exists where f is true, then true

    See also

    forall

  36. def filter(f: (T) ⇒ Boolean): ReadChannel[T]

    Permalink

    Only include elements for which f is true

    Only include elements for which f is true

    Definition Classes
    ReadChannelFilter
  37. def filterCycles: ReadChannel[T]

    Permalink
    Definition Classes
    ReadChannel
  38. def filterNot(f: (T) ⇒ Boolean): ReadChannel[T]

    Permalink
    Definition Classes
    Filter
  39. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  40. def flatMap[U](f: (T) ⇒ ReadChannel[U]): ReadChannel[U]

    Permalink

    Applies f on each element and flatten its result into the stream

    Applies f on each element and flatten its result into the stream

    Definition Classes
    ReadChannelMapExtended
  41. def flatMapBuf[U](f: (T) ⇒ ReadBuffer[U]): ReadBuffer[U]

    Permalink
    Definition Classes
    ReadChannel
  42. def flatMapCh[U](f: (T) ⇒ Channel[U]): Channel[U]

    Permalink

    flatMap with back-propagation.

    flatMap with back-propagation.

    Definition Classes
    ReadChannel
  43. def flatMapSeq[U](f: (T) ⇒ Seq[U]): ReadChannel[U]

    Permalink

    Definition Classes
    ReadChannelMapExtended
    See also

    flatMap

  44. def flatProduce[U](value: Option[T], ignore: ReadChannel[U]*): Unit

    Permalink
    Definition Classes
    WriteChannel
  45. def flatProduce(value: Option[T]): Unit

    Permalink
    Definition Classes
    WriteChannel
  46. def foldLeft[U](acc: U)(f: (U, T) ⇒ U): ReadChannel[U]

    Permalink

    Definition Classes
    ReadChannelFold
    Note

    Caches the accumulator value.

  47. def forall(f: (T) ⇒ Boolean): ReadChannel[Boolean]

    Permalink

    Checks whether f is true for all elements

    Checks whether f is true for all elements

    Definition Classes
    Filter
    See also

    exists

  48. def foreach[U](f: (T) ⇒ U): Unit

    Permalink
    Definition Classes
    ReadChannel
  49. def forkBi[U](fwd: Observer[T, U], bwd: Observer[U, T], silent: Boolean = false): Channel[U]

    Permalink

    Bi-directional fork for values

    Bi-directional fork for values

    Definition Classes
    WriteChannel
  50. def forkBiFlat[U](obs: Observer[T, Channel[U]]): Channel[U]

    Permalink

    Bi-directional fork for channels

    Bi-directional fork for channels

    Definition Classes
    ReadChannel
  51. def forkUni[U](observer: Observer[T, U], filterCycles: Boolean = false): ReadChannel[U]

    Permalink

    Uni-directional fork for values

    Uni-directional fork for values

    Definition Classes
    ReadChannel
  52. def forkUniFlat[U](observer: Observer[T, ReadChannel[U]]): ReadChannel[U]

    Permalink

    Uni-directional fork for channels

    Uni-directional fork for channels

    Definition Classes
    ReadChannel
  53. def forkUniState[U](observer: Observer[T, U], onFlush: ⇒ Option[U]): ReadChannel[U]

    Permalink
    Definition Classes
    ReadChannel
  54. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  55. def has(value: T): ReadChannel[Boolean]

    Permalink

    Stream contains at least one occurrence of value.

    Stream contains at least one occurrence of value.

    Definition Classes
    Filter
    Note

    Channels: Once true, will never produce any other value.

    ,

    Buffers: When the item is removed, it will produce false.

  56. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  57. def head: ReadChannel[T]

    Permalink

    Wraps first element as a channel

    Wraps first element as a channel

    Denotes first produced element after the head call; whether head has observers at this point is irrelevant as the value is cached (i.e. attaching repeatedly will always lead the same value)

    Definition Classes
    ReadChannelHead
  58. def is(other: ReadChannel[T]): ReadChannel[Boolean]

    Permalink
    Definition Classes
    ReadChannelIs
  59. def is(value: T): ReadChannel[Boolean]

    Permalink

    Current value is equal to value

    Current value is equal to value

    Definition Classes
    ReadChannelIs
  60. def isDefined(implicit ev: <:<[T, Option[_]]): ReadChannel[Boolean]

    Permalink

    true if partial channel has a value, false otherwise

    true if partial channel has a value, false otherwise

    Definition Classes
    ReadChannelPartialChannel
  61. def isEmpty: ReadChannel[Boolean]

    Permalink

    Definition Classes
    Size
    Note

    Partial channels: Produce true if the current value is cleared.

    ,

    Channels: Produce false with the first received value.

    ,

    Buffers: Produce a new value once a row is added or removed.

  62. def isHead(value: T): ReadChannel[Boolean]

    Permalink

    Checks whether the given element is the first produced value

    Checks whether the given element is the first produced value

    Definition Classes
    ReadChannelHead
  63. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  64. def isNot(other: ReadChannel[T]): ReadChannel[Boolean]

    Permalink
    Definition Classes
    ReadChannelIs
  65. def isNot(value: T): ReadChannel[Boolean]

    Permalink

    Current value is not equal to value

    Current value is not equal to value

    Definition Classes
    ReadChannelIs
  66. def map[U](f: (T) ⇒ U): ReadChannel[U]

    Permalink

    Applies f on each element

    Applies f on each element

    Definition Classes
    ReadChannelMap
  67. def mapOrElse[U, V](f: (U) ⇒ V, default: ⇒ V)(implicit ev: <:<[T, Option[U]]): ReadChannel[V]

    Permalink
    Definition Classes
    ReadChannelPartialChannel
  68. def mapTo[U](f: (T) ⇒ U): DeltaDict[T, U]

    Permalink

    Map f on each element and turn stream into a dictionary

    Map f on each element and turn stream into a dictionary

    Definition Classes
    ReadChannelMapExtended
  69. def mapValues[U, V](f: (U) ⇒ V)(implicit ev: <:<[T, Option[U]]): ReadChannel[Option[V]]

    Permalink
    Definition Classes
    ReadChannelPartialChannel
  70. def max[U >: T](init: U)(implicit num: Numeric[U]): ReadChannel[U]

    Permalink

    Calculates maximum value

    Calculates maximum value

    Definition Classes
    Fold
    See also

    foldLeft

  71. def merge(ch: ReadChannel[T]): ReadChannel[T]

    Permalink
    Definition Classes
    ReadChannel
  72. def min[U >: T](init: U)(implicit num: Numeric[U]): ReadChannel[U]

    Permalink

    Calculates minimum value

    Calculates minimum value

    Definition Classes
    Fold
    See also

    foldLeft

  73. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  74. def nonEmpty: ReadChannel[Boolean]

    Permalink

    Negation of isEmpty

    Negation of isEmpty

    Definition Classes
    Size
  75. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  77. def or(ch: ReadChannel[_]): ReadChannel[Unit]

    Permalink
    Definition Classes
    ReadChannel
  78. def orElse[U](default: ⇒ ReadChannel[U])(implicit ev: <:<[T, Option[U]]): ReadChannel[U]

    Permalink
    Definition Classes
    ReadChannelPartialChannel
  79. def partialBiMap[U](f: (T) ⇒ Option[U], g: (U) ⇒ Option[T]): Channel[U]

    Permalink
    Definition Classes
    Channel
  80. def partition(f: (T) ⇒ Boolean): (ReadChannel[T], ReadChannel[T])

    Permalink

    Partitions stream into two sub-stream

    Partitions stream into two sub-stream

    The left stream contains all elements for which f is true, all other elements go to the right stream.

    Definition Classes
    Filter
  81. def produce[U](value: T, ignore: ReadChannel[U]*): Unit

    Permalink
    Definition Classes
    WriteChannel
  82. def produce(value: T): Unit

    Permalink

    Propagates value to children

    Propagates value to children

    Definition Classes
    WriteChannelProduce
  83. def product[U >: T](implicit num: Numeric[U]): ReadChannel[U]

    Permalink

    Calculates product

    Calculates product

    Definition Classes
    Fold
    See also

    foldLeft

  84. def publish[U](ch: WriteChannel[T], ignore: ReadChannel[U]): ReadChannel[Unit]

    Permalink
    Definition Classes
    ReadChannel
  85. def publish(ch: WriteChannel[T]): ReadChannel[Unit]

    Permalink
    Definition Classes
    ReadChannelPublish
  86. def set(value: T): Unit

    Permalink

    Sets and propagates value to children

  87. def silentAttach(f: (T) ⇒ Unit): ReadChannel[Unit]

    Permalink
    Definition Classes
    ReadChannel
  88. def state(default: T): Var[T]

    Permalink
    Definition Classes
    Channel
  89. def state: Opt[T]

    Permalink
    Definition Classes
    Channel
  90. def subscribe[U](ch: ReadChannel[T], ignore: ReadChannel[U]): ReadChannel[Unit]

    Permalink
    Definition Classes
    WriteChannel
  91. def subscribe(ch: ReadChannel[T]): ReadChannel[Unit]

    Permalink

    Redirect stream from other to this.

    Redirect stream from other to this.

    Definition Classes
    WriteChannelSubscribe
  92. def sum[U >: T](implicit num: Numeric[U]): ReadChannel[U]

    Permalink

    Sums over all elements

    Sums over all elements

    Definition Classes
    Fold
    See also

    foldLeft

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

    Permalink
    Definition Classes
    AnyRef
  94. def tail: ReadChannel[T]

    Permalink

    Skips first element

    Skips first element

    Definition Classes
    ReadChannelTail
  95. def take(count: Int): ReadChannel[T]

    Permalink

    Definition Classes
    ReadChannelTake
    Note

    Channels: Takes first count elements, then stop listening. Subscribing to it will always yield the last result as initial value.

    ,

    Buffers: Will always contain the first count (or less) elements of the parent buffer.

  96. def takeUntil(ch: ReadChannel[_]): ReadChannel[T]

    Permalink

    Take all elements until ch produces any value

    Take all elements until ch produces any value

    Definition Classes
    ReadChannelTake
  97. def takeWhile(f: (T) ⇒ Boolean): ReadChannel[T]

    Permalink
    Definition Classes
    ReadChannel
  98. def throttle(interval: FiniteDuration)(implicit scheduler: Scheduler): ReadChannel[T]

    Permalink
    Definition Classes
    ReadChannel
  99. def toBuffer: Buffer[T]

    Permalink

    Buffers only current element

    Buffers only current element

    Definition Classes
    ReadChannel
  100. def toOpt: Opt[T]

    Permalink
    Definition Classes
    Channel
  101. def toString(): String

    Permalink
    Definition Classes
    Channel → AnyRef → Any
  102. def undefined(implicit ev: <:<[T, Option[_]]): ReadChannel[Boolean]

    Permalink
    Definition Classes
    ReadChannelPartialChannel
  103. def update(f: (T) ⇒ T): Unit

    Permalink
  104. def values[U](implicit ev: <:<[T, Option[U]]): ReadChannel[U]

    Permalink

    Filters out all defined values

    Filters out all defined values

    Definition Classes
    ReadChannelPartialChannel
  105. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  108. def withFilter(f: (T) ⇒ Boolean): WithFilter

    Permalink
    Definition Classes
    ReadChannel
  109. def writeTo(write: WriteChannel[T]): Channel[T]

    Permalink
    Definition Classes
    ReadChannel
  110. def zip[U, V, W, X](other1: ReadChannel[U], other2: ReadChannel[V], other3: ReadChannel[W], other4: ReadChannel[X]): ReadChannel[(T, U, V, W, X)]

    Permalink
    Definition Classes
    ReadChannel
  111. def zip[U, V, W](other1: ReadChannel[U], other2: ReadChannel[V], other3: ReadChannel[W]): ReadChannel[(T, U, V, W)]

    Permalink
    Definition Classes
    ReadChannel
  112. def zip[U, V](other1: ReadChannel[U], other2: ReadChannel[V]): ReadChannel[(T, U, V)]

    Permalink

    Helper function to zip channel with the two given channels.

    Helper function to zip channel with the two given channels. Can be used to avoid nested tuples.

    Definition Classes
    ReadChannel
  113. def zip[U](other: ReadChannel[U]): ReadChannel[(T, U)]

    Permalink
    Definition Classes
    ReadChannel
  114. def zipWith[U, V](other: ReadChannel[U])(f: (T, U) ⇒ V): ReadChannel[V]

    Permalink
    Definition Classes
    ReadChannel
  115. def |(ch: ReadChannel[_]): ReadChannel[Unit]

    Permalink
    Definition Classes
    ReadChannel

Inherited from ChannelDefaultDispose[T]

Inherited from ReadStateChannel[T]

Inherited from Channel[T]

Inherited from Bind[T]

Inherited from WriteChannel[T]

Inherited from Subscribe[T]

Inherited from Produce[T]

Inherited from ReadChannel[T]

Inherited from Disposable

Inherited from Publish[T]

Inherited from Flush[T]

Inherited from PartialChannel[T]

Inherited from Size

Inherited from Cache[T]

Inherited from MapExtended[ReadChannel, T]

Inherited from Map[ReadChannel, T]

Inherited from Filter[ReadChannel, T, T]

Inherited from Aggregate[ReadChannel, T]

Inherited from Is[T]

Inherited from Fold[T]

Inherited from Take[ReadChannel, T]

Inherited from Tail[ReadChannel, T]

Inherited from Head[T]

Inherited from AnyRef

Inherited from Any

Ungrouped