Trait

gopher.channels

ForeverSelectorBuilder

Related Doc: package channels

Permalink

trait ForeverSelectorBuilder extends SelectorBuilder[Unit]

Builder for 'forever' selector. Can be obtained as gopherApi.select.forever.

Linear Supertypes
SelectorBuilder[Unit], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ForeverSelectorBuilder
  2. SelectorBuilder
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type timeout = FiniteDuration

    Permalink
    Definition Classes
    SelectorBuilder

Abstract Value Members

  1. abstract def api: GopherAPI

    Permalink
    Definition Classes
    SelectorBuilder

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 apply(f: PartialFunction[Any, Unit]): Future[Unit]

    Permalink

    provide syntax for running select loop as async operation.

    provide syntax for running select loop as async operation.

    val receiver = gopherApi.select.forever{
                     case x: channel.read => Console.println(s"received:$x")
                   }
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. implicit def ec: ExecutionContext

    Permalink
    Definition Classes
    SelectorBuilder
  8. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

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

    Permalink

    provide syntax for running select loop inside go (or async) block example of usage:

    provide syntax for running select loop inside go (or async) block example of usage:

    go {
      .....
      for(s <- gopherApi.select.forever)
        s match {
          case x: ch1.read => do something with x
          case q: chq.read => implicitly[FlowTermination[Unit]].doExit(())
          case y: ch2.write if (y=expr) => do something with y
          case _ => do somethig when idle.
        }

    Note, that you can use implicit instance of [FlowTermination[Unit]] to stop loop.

  12. def futureInput[A](f: Future[A]): FutureInput[A]

    Permalink
    Definition Classes
    SelectorBuilder
    Annotations
    @inline()
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def go: Future[Unit]

    Permalink
    Definition Classes
    SelectorBuilder
  15. macro def handleError(f: (Throwable) ⇒ Unit): ForeverSelectorBuilder

    Permalink
  16. def handleErrorWithFlowTerminationAsync(f: (ExecutionContext, FlowTermination[Unit], Continuated[Unit], Throwable) ⇒ Future[Unit]): ForeverSelectorBuilder.this.type

    Permalink
    Annotations
    @inline()
  17. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  18. macro def idle(body: Unit): ForeverSelectorBuilder

    Permalink
  19. macro def input[B](f: PartialFunction[Any, B]): Input[B]

    Permalink
  20. def inputBuilder[B](): InputSelectorBuilder[B]

    Permalink
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. macro def map[B](f: (Any) ⇒ B): Input[B]

    Permalink

    provide syntax for creating output channels.

    provide syntax for creating output channels.

    val multiplexed = for(s <- gopherApi.select.forever) yield
         s match {
            case x: channelA => s"A:${x}"
            case x: channelB => s"B:${x}"
         }
  23. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  26. def onError(arg: ErrorSelectorArgument[Unit]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
  27. def onIdle(arg: SkipSelectorArgument[Unit]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
  28. def onRead[E](ch: Input[E])(arg: ReadSelectorArgument[E, Unit]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
  29. def onTimeout(t: FiniteDuration)(arg: SkipSelectorArgument[Unit]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
  30. def onWrite[E](ch: Output[E])(arg: WriteSelectorArgument[E, Unit]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
  31. macro def reading[A](ch: Input[A])(f: (A) ⇒ Unit): ForeverSelectorBuilder

    Permalink
  32. def readingWithFlowTerminationAsync[A](ch: Input[A], f: (ExecutionContext, FlowTermination[Unit], A) ⇒ Future[Unit]): ForeverSelectorBuilder.this.type

    Permalink
  33. def selectorRun: Future[Unit]

    Permalink
    Definition Classes
    SelectorBuilder
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  35. macro def timeout(t: FiniteDuration)(f: (FiniteDuration) ⇒ Unit): ForeverSelectorBuilder

    Permalink
  36. def timeoutWithFlowTerminationAsync(t: FiniteDuration, f: (ExecutionContext, FlowTermination[Unit], FiniteDuration) ⇒ Future[Unit]): ForeverSelectorBuilder.this.type

    Permalink
    Annotations
    @inline()
  37. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. def withError(f: (ExecutionContext, FlowTermination[Unit], Continuated[Unit], Throwable) ⇒ Future[Continuated[Unit]]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
    Annotations
    @inline()
  42. def withIdle(f: (Skip[Unit]) ⇒ Option[Future[Continuated[Unit]]]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
    Annotations
    @inline()
  43. def withReader[B](ch: Input[B], f: (ContRead[B, Unit]) ⇒ Option[(In[B]) ⇒ Future[Continuated[Unit]]]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
    Annotations
    @inline()
  44. def withTimeout(t: FiniteDuration)(f: (Skip[Unit]) ⇒ Option[Future[Continuated[Unit]]]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
    Annotations
    @inline()
  45. def withWriter[B](ch: Output[B], f: (ContWrite[B, Unit]) ⇒ Option[(B, Future[Continuated[Unit]])]): ForeverSelectorBuilder.this.type

    Permalink
    Definition Classes
    SelectorBuilder
    Annotations
    @inline()
  46. macro def writing[A](ch: Output[A], x: A)(f: (A) ⇒ Unit): ForeverSelectorBuilder

    Permalink
  47. def writingWithFlowTerminationAsync[A](ch: Output[A], x: ⇒ A, f: (ExecutionContext, FlowTermination[Unit], A) ⇒ Future[Unit]): ForeverSelectorBuilder

    Permalink
    Annotations
    @inline()

Inherited from SelectorBuilder[Unit]

Inherited from AnyRef

Inherited from Any

Ungrouped