Class

gopher.channels

MultithreadedEffectedChannel

Related Doc: package channels

Permalink

class MultithreadedEffectedChannel[A] extends MultithreadedEffected[Channel[A]] with EffectedChannel[A]

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MultithreadedEffectedChannel
  2. EffectedChannel
  3. Channel
  4. InputOutput
  5. Output
  6. Input
  7. GopherAPIProvider
  8. MultithreadedEffected
  9. Effected
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MultithreadedEffectedChannel(ch: Channel[A])

    Permalink

Type Members

  1. type <~ = A

    Permalink
    Definition Classes
    Input
  2. class Filtered extends Channel.Filtered with Channel[A]

    Permalink
    Definition Classes
    Channel
  3. case class Read(value: A) extends Product with Serializable

    Permalink
    Definition Classes
    Input
  4. type read = A

    Permalink
    Definition Classes
    Input
  5. type write = A

    Permalink
    Definition Classes
    Output
  6. type writeExp[X] = A

    Permalink
    Definition Classes
    Output
  7. type ~> = A

    Permalink
    Definition Classes
    Output

Value Members

  1. macro def !(a: A): Unit

    Permalink

    shortcut for blocking write.

    shortcut for blocking write.

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. def :=(x: Channel[A]): Unit

    Permalink
    Definition Classes
    Effected
    Annotations
    @inline()
  5. def <<=(f: (Channel[A]) ⇒ Channel[A]): Unit

    Permalink
    Definition Classes
    Effected
    Annotations
    @inline()
  6. macro def <~(a: A): Output[A]

    Permalink

    shortcut for blocking write.

    shortcut for blocking write.

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

    Permalink
    Definition Classes
    AnyRef → Any
  8. macro def ?: A

    Permalink

    synonym for read.

    synonym for read.

    Definition Classes
    Input
  9. macro def afold[S, B](s0: S)(f: (S, A) ⇒ S): Future[S]

    Permalink

    async incarnation of fold.

    async incarnation of fold. Fold return future, which successed when channel is closed. Operations withing fold applyed on result on each other, starting with s0. val fsum = ch.afold(0){ (s, n) => s+n } Here in fsum will be future with value: sum of all elements in channel until one has been closed.

    Definition Classes
    Input
  10. def afoldAsync[S, B](s0: S)(f: (S, A) ⇒ Future[S])(implicit ec: ExecutionContext): Future[S]

    Permalink
    Definition Classes
    Input
  11. def afoldSync[S, B](s0: S)(f: (S, A) ⇒ S): Future[S]

    Permalink
    Definition Classes
    Input
  12. macro def aforeach(f: (A) ⇒ Unit): Future[Unit]

    Permalink
    Definition Classes
    Input
  13. def api: GopherAPI

    Permalink

    instance of gopher API

    instance of gopher API

    Definition Classes
    MultithreadedEffectedChannelOutputInputGopherAPIProvider
  14. def append(other: Input[A]): Input[A]

    Permalink

    when the first channel is exhaused, read from second.

    when the first channel is exhaused, read from second.

    Definition Classes
    Input
  15. def apply(f: (Channel[A]) ⇒ Channel[A]): Unit

    Permalink
    Definition Classes
    MultithreadedEffectedEffected
  16. def aread: Future[A]

    Permalink

    async version of read.

    async version of read. Immediatly return future, which will contains result of read or failur with StreamClosedException in case of stream is closed.

    Definition Classes
    Input
  17. def asInput(): EffectedInput[A]

    Permalink
  18. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  19. def asOutput(): EffectedOutput[A]

    Permalink
  20. def async: AnyRef { ... /* 3 definitions in type refinement */ }

    Permalink
    Definition Classes
    Input
  21. def atake(n: Int): Future[IndexedSeq[A]]

    Permalink

    return feature which contains sequence from first n elements.

    return feature which contains sequence from first n elements.

    Definition Classes
    Input
  22. def awrite(a: A): Future[A]

    Permalink
    Definition Classes
    Output
  23. def awriteAll[C <: Iterable[A]](c: C): Future[Unit]

    Permalink
    Definition Classes
    Output
  24. def cbread[B](f: (ContRead[A, B]) ⇒ Option[(In[A]) ⇒ Future[Continuated[B]]], ft: FlowTermination[B]): Unit

    Permalink

    apply f, when input will be ready and send result to API processor

    apply f, when input will be ready and send result to API processor

    Definition Classes
    MultithreadedEffectedChannelInput
  25. def cbwrite[B](f: (ContWrite[A, B]) ⇒ Option[(A, Future[Continuated[B]])], ft: FlowTermination[B]): Unit

    Permalink

    apply f and send result to channels processor.

    apply f and send result to channels processor.

    Definition Classes
    MultithreadedEffectedChannelOutput
  26. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. def close(): Unit

    Permalink
    Definition Classes
    MultithreadedEffectedChannelChannel
  28. def current: Channel[A]

    Permalink
    Definition Classes
    MultithreadedEffectedEffected
  29. def dup(): (Input[A], Input[A])

    Permalink

    duplicate input

    duplicate input

    Definition Classes
    Input
  30. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  32. def filter(p: (A) ⇒ Boolean): Channel[A]

    Permalink
    Definition Classes
    ChannelInput
  33. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. def flatFold(fun: (Input[A], A) ⇒ Input[A]): Input[A]

    Permalink
    Definition Classes
    Input
  35. def flatMap[B](g: (A) ⇒ Input[B]): Input[B]

    Permalink
    Definition Classes
    Input
  36. def flatMapOp[B](g: (A) ⇒ Input[B])(op: (Input[B], Input[B]) ⇒ Input[B]): Input[B]

    Permalink
    Definition Classes
    Input
  37. macro def fold[S, B](s0: S)(f: (S, A) ⇒ S): S

    Permalink

    fold opeations, available inside async bloc.

    fold opeations, available inside async bloc. go { val sum = ch.fold(0){ (s,n) => s+n } }

    Definition Classes
    Input
  38. macro def foreach(f: (A) ⇒ Unit): Unit

    Permalink

    run f each time when new object is arrived.

    run f each time when new object is arrived. Ended when input closes.

    must be inside go/async/action block.

    Definition Classes
    Input
  39. def foreachAsync(f: (A) ⇒ Future[Unit])(implicit ec: ExecutionContext): Future[Unit]

    Permalink
    Definition Classes
    Input
  40. def foreachSync(f: (A) ⇒ Unit): Future[Unit]

    Permalink
    Definition Classes
    Input
  41. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Any
  44. def map[B](g: (A) ⇒ B): Input[B]

    Permalink
    Definition Classes
    Input
  45. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  48. def or(other: Input[A]): Input[A]

    Permalink

    synonim for non-deteremenistics choice.

    synonim for non-deteremenistics choice.

    Definition Classes
    Input
  49. def prepend(a: A): Input[A]

    Permalink
    Definition Classes
    Input
  50. macro def read: A

    Permalink

    read object from channel.

    read object from channel. Must be situated inside async/go/action block.

    Definition Classes
    Input
  51. def replace(x: Channel[A]): Unit

    Permalink
    Definition Classes
    MultithreadedEffectedEffected
  52. def seq: AnyRef { def flatMap[B](g: A => gopher.channels.Input[B]): gopher.channels.Input[B] }

    Permalink
    Definition Classes
    Input
  53. def setv(x: ⇒ Channel[A]): Unit

    Permalink
    Attributes
    protected[this]
    Definition Classes
    MultithreadedEffected
  54. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  56. def unfold[S](s: S)(f: (S) ⇒ (S, A)): Unit

    Permalink
    Definition Classes
    Output
  57. val v: AtomicReference[Channel[A]]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    MultithreadedEffected
  58. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. def withFilter(p: (A) ⇒ Boolean): Input[A]

    Permalink
    Definition Classes
    Input
  62. def withInputTimeouts(timeout: FiniteDuration): (Input[A], Input[FiniteDuration])

    Permalink

    return pair of inputs (ready, timeouts), such that when you read from ready you receive element from this and if during reading you wait more than specified timeout, than timeout message is appear in timeouts

    return pair of inputs (ready, timeouts), such that when you read from ready you receive element from this and if during reading you wait more than specified timeout, than timeout message is appear in timeouts

    val (inReady, inTimeouts) = in withInputTimeouts (10 seconds) select.forever { case x: inReady.read => Console.println(s"received value ${value}") case x: inTimeouts.read => Console.println(s"timeout occured") }

    Definition Classes
    Input
  63. def withOutputTimeouts(timeout: FiniteDuration): (Output[A], Input[FiniteDuration])

    Permalink

    provide pair from Output and Input (ready, timeouts) such that writing to ready will case writing to output and if it was not completed during timeout than appropriative duration will be availabe in timeouts input.

    provide pair from Output and Input (ready, timeouts) such that writing to ready will case writing to output and if it was not completed during timeout than appropriative duration will be availabe in timeouts input.

    val (chReady, chTimeouts) = ch withOutputTimeouts (5 seconds) select.forever { case x: chReady.write if (x==somethingToWrite) => Console.println(s" ${x} send") case t: chTimeouts.read => Console.println(s"timeout during writing") }

    Definition Classes
    Output
  64. macro def write(a: A): A

    Permalink

    'blocking' write of 'a' to channel.

    'blocking' write of 'a' to channel. Note, that this method can be called only inside 'go' or 'async' blocks.

    Definition Classes
    Output
  65. macro def writeAll[C <: Iterable[A]](it: C): Unit

    Permalink
    Definition Classes
    Output
  66. def zip[B](x: Input[B]): Input[(A, B)]

    Permalink
    Definition Classes
    Input
  67. def zip[B](x: Iterable[B]): Input[(A, B)]

    Permalink
    Definition Classes
    Input
  68. def |(other: Input[A]): Input[A]

    Permalink

    return input merged with 'other'.

    return input merged with 'other'. (i.e. non-determenistics choice)

    Definition Classes
    Input

Inherited from EffectedChannel[A]

Inherited from Channel[A]

Inherited from InputOutput[A]

Inherited from Output[A]

Inherited from Input[A]

Inherited from GopherAPIProvider

Inherited from MultithreadedEffected[Channel[A]]

Inherited from Effected[Channel[A]]

Inherited from AnyRef

Inherited from Any

Ungrouped