Trait/Object

gopher.channels

Input

Related Docs: object Input | package channels

Permalink

trait Input[A] extends GopherAPIProvider

Entity, from which we can read objects of type A.

Self Type
Input[A]
Linear Supertypes
GopherAPIProvider, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Input
  2. GopherAPIProvider
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type <~ = A

    Permalink
  2. class Filtered extends Input[A]

    Permalink
  3. class FutureMapped[B] extends Input[B]

    Permalink
  4. class Mapped[B] extends Input[B]

    Permalink
  5. case class Read(value: A) extends Product with Serializable

    Permalink
  6. type read = A

    Permalink

Abstract Value Members

  1. abstract def api: GopherAPI

    Permalink

    instance of gopher API

    instance of gopher API

    Definition Classes
    InputGopherAPIProvider
  2. abstract 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

Concrete 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. macro def ?: A

    Permalink

    synonym for read.

  5. 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.

  6. def afoldAsync[S, B](s0: S)(f: (S, A) ⇒ Future[S])(implicit ec: ExecutionContext): Future[S]

    Permalink
  7. def afoldSync[S, B](s0: S)(f: (S, A) ⇒ S): Future[S]

    Permalink
  8. macro def aforeach(f: (A) ⇒ Unit): Future[Unit]

    Permalink
  9. def amap[B](g: (A) ⇒ Future[B]): Input[B]

    Permalink
  10. def append(other: Input[A]): Input[A]

    Permalink

    when the first channel is exhaused, read from second.

  11. 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.

  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. def async: AnyRef { ... /* 3 definitions in type refinement */ }

    Permalink
  14. def atake(n: Int): Future[IndexedSeq[A]]

    Permalink

    return feature which contains sequence from first n elements.

  15. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. lazy val closeless: Input[A]

    Permalink

    returns

    Input without close event: i.e. reading from closeless channel after channel close will wait forever instead throwing CloseChannelException

  17. def dup(): (Input[A], Input[A])

    Permalink

    duplicate input

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

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

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

    Permalink
  21. def finalize(): Unit

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

    Permalink
  23. def flatMap[B](g: (A) ⇒ Input[B]): Input[B]

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

    Permalink
  25. 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 } }

  26. 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.

  27. def foreachAsync(f: (A) ⇒ Future[Unit])(implicit ec: ExecutionContext): Future[Unit]

    Permalink
  28. def foreachSync(f: (A) ⇒ Unit): Future[Unit]

    Permalink
  29. final def getClass(): Class[_]

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

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

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

    Permalink
  33. final def ne(arg0: AnyRef): Boolean

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

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

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

    Permalink

    synonim for non-deteremenistics choice.

  37. def prepend(a: A): Input[A]

    Permalink
  38. macro def read: A

    Permalink

    read object from channel.

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

  39. def seq: AnyRef { def flatMap[B](g: A => gopher.channels.Input[B]): gopher.channels.Input[B] }

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

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

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

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

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

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

    Permalink
  46. 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") }

  47. def zip[B](x: Input[B]): Input[(A, B)]

    Permalink
  48. def zip[B](x: Iterable[B]): Input[(A, B)]

    Permalink
  49. def |(other: Input[A]): Input[A]

    Permalink

    return input merged with 'other'.

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

Inherited from GopherAPIProvider

Inherited from AnyRef

Inherited from Any

Ungrouped