gopher.channels

FutureInput

class FutureInput[A] extends Input[A]

Future[A], represented as input which produce a value when completed, after this closes. If evaluation of feature is unsuccessful (i.e. failure), than appropriative exception is thrown during reading.

Can be obtained from gopherApi.

import gopherApi._

val myInput = futureInput(future)
select.forever{
   case x: myInput.read => Console.println(s"we receive value from future: ${x}")
                         implicitly[FlowTermination[Unit]].doExit(())
   case x: myChannel.read => Console.println(s"value from channel: ${x}")
}

Also it is possiblt to direclty read from future in case guard:

select.forever{
   case x: T if (x==future.read) => Console.println(s"we receive value from future: ${x}")
   case x: T if (x==channel.read) => Console.println(s"value from channel: ${x}")
}
Linear Supertypes
Input[A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FutureInput
  2. Input
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FutureInput(future: Future[A], api: GopherAPI)

Type Members

  1. type <~ = A

    Definition Classes
    Input
  2. type read = A

    Definition Classes
    Input

Value Members

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

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

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

    Definition Classes
    AnyRef → Any
  4. macro def ?: A

    synonym for read.

    synonym for read.

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

    Definition Classes
    Input
  6. val api: GopherAPI

    instance of gopher API

    instance of gopher API

    Definition Classes
    FutureInputInput
  7. def aread: Future[A]

    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
  8. final def asInstanceOf[T0]: T0

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

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

    return feature which contains sequence from first n elements.

    return feature which contains sequence from first n elements.

    Definition Classes
    Input
  11. def cbread[B](f: (ContRead[A, B]) ⇒ Option[(In[A]) ⇒ Future[Continuated[B]]], flwt: FlowTermination[B]): Unit

    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
    FutureInputInput
  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def dup(): (Input[A], Input[A])

    duplicate input

    duplicate input

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

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

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

    Definition Classes
    Input
  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. macro def foreach(f: (A) ⇒ Unit): Unit

    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
  19. def foreachAsync(f: (A) ⇒ Future[Unit])(implicit ec: ExecutionContext): Future[Unit]

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

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

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

    Definition Classes
    AnyRef → Any
  23. def input: Input[A]

  24. final def isInstanceOf[T0]: Boolean

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

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

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

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

    Definition Classes
    AnyRef
  29. macro def read: A

    read object from channel.

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

    Definition Classes
    Input
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  31. def toString(): String

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

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

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

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

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

    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
  37. def zip[B](x: Input[B]): Input[(A, B)]

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

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

    return input merged with 'other'.

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

    Definition Classes
    Input

Inherited from Input[A]

Inherited from AnyRef

Inherited from Any

Ungrouped