object wye

Source
wye.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. wye
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait Request extends AnyRef

    Indicates required request side

  2. type WyeAwaitBoth[I, I2, O] = Await[Y, Y[ReceiveY[I, I2]], O]
  3. type WyeAwaitL[I, I2, O] = Await[Y, Is[I], O]
  4. type WyeAwaitR[I, I2, O] = Await[Y, T[I2], O]

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. def apply[L, R, O](pl: Process[Task, L], pr: Process[Task, R])(y0: Wye[L, R, O])(implicit S: Strategy): Process[Task, O]

    Implementation of wye.

    Implementation of wye.

    L

    Type of left process element

    R

    Type of right process elements

    O

    Output type of resulting process

    pl

    left process

    pr

    right process

    y0

    wye to control queueing and merging

    S

    strategy, preferably executor service based

    returns

    Process with merged elements.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def attachL[I0, I, I2, O](p1: Process1[I0, I])(y: Wye[I, I2, O]): Wye[I0, I2, O]

    Transform the left input of the given Wye using a Process1.

  7. def attachR[I, I1, I2, O](p: Process1[I1, I2])(w: Wye[I, I2, O]): Wye[I, I1, O]

    Transform the right input of the given Wye using a Process1.

  8. def boundedQueue[I](n: Int): Wye[Any, I, I]

    A Wye which emits values from its right branch, but allows up to n elements from the left branch to enqueue unanswered before blocking on the right branch.

  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def detach1L[I, I2, O](y: Wye[I, I2, O]): Wye[I, I2, O]

    Transforms the wye so it will stop to listen on left side.

    Transforms the wye so it will stop to listen on left side. Instead all requests on the left side are converted to termination with Kill, and will terminate once the right side will terminate as well. Transforms AwaitBoth to AwaitR Transforms AwaitL to termination with End

  11. def detach1R[I, I2, O](y: Wye[I, I2, O]): Wye[I, I2, O]

    right alternative of detach1L

  12. def disconnectL[I, I2, O](cause: EarlyCause)(y: Wye[I, I2, O]): Wye[I, I2, O]

    Signals to wye, that Left side terminated.

    Signals to wye, that Left side terminated. Reason for termination is cause. Any Left requests will be terminated with cause Wye will be switched to listen only on Right side, that means Await(Both) is converted to Await(R)

  13. def disconnectR[I, I2, O](cause: EarlyCause)(y: Wye[I, I2, O]): Wye[I, I2, O]

    Right side alternative for disconnectL

  14. def dynamic[I, I2](f: (I) ⇒ Request, g: (I2) ⇒ Request): Wye[I, I2, ReceiveY[I, I2]]

    After each input, dynamically determine whether to read from the left, right, or both, for the subsequent input, using the provided functions f and g.

    After each input, dynamically determine whether to read from the left, right, or both, for the subsequent input, using the provided functions f and g. The returned Wye begins by reading from the left side and is left-biased--if a read of both branches returns a These(x,y), it uses the signal generated by f for its next step.

  15. def dynamic1[I](f: (I) ⇒ Request): Wye[I, I, I]

    Invokes dynamic with I == I2, and produces a single I output.

    Invokes dynamic with I == I2, and produces a single I output. Output is left-biased: if a These(i1,i2) is emitted, this is translated to an emitSeq(List(i1,i2)).

  16. def echoLeft[A]: Wye[A, Any, A]

    Continuous wye, that first reads from Left to get A, Then when A is not available it reads from R echoing any A that was received from Left Will halt once any of the sides halt

  17. def either[I, I2]: Wye[I, I2, \/[I, I2]]

    Nondeterminstic interleave of both inputs.

    Nondeterminstic interleave of both inputs. Emits values whenever either of the inputs is available.

  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  20. def feed1[I, I2, O](r: ReceiveY[I, I2])(w: Wye[I, I2, O]): Wye[I, I2, O]

    Feed a single ReceiveY value to a Wye.

  21. def feed1L[I, I2, O](i: I)(w: Wye[I, I2, O]): Wye[I, I2, O]

    Feed a single value to the left branch of a Wye.

  22. def feed1R[I, I2, O](i2: I2)(w: Wye[I, I2, O]): Wye[I, I2, O]

    Feed a single value to the right branch of a Wye.

  23. def feedL[I, I2, O](is: Seq[I])(y: Wye[I, I2, O]): Wye[I, I2, O]

    Feed a sequence of inputs to the left side of a Wye.

  24. def feedR[I, I2, O](i2s: Seq[I2])(y: Wye[I, I2, O]): Wye[I, I2, O]

    Feed a sequence of inputs to the right side of a Wye.

  25. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. def flip[I, I2, O](y: Wye[I, I2, O]): Wye[I2, I, O]

    Convert right requests to left requests and vice versa.

  27. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  28. def haltL[I, I2, O](cause: Cause)(y: Wye[I, I2, O]): Wye[I, I2, O]

    Signals to wye that left side halted with cause.

    Signals to wye that left side halted with cause. Wye will be fed with HaltL(cause) and will disconnect from Left side.

  29. def haltR[I, I2, O](cause: Cause)(y: Wye[I, I2, O]): Wye[I, I2, O]

    Right alternative for haltL

  30. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  31. def interrupt[I]: Wye[Boolean, I, I]

    Let through the right branch as long as the left branch is false, listening asynchronously for the left branch to become true.

    Let through the right branch as long as the left branch is false, listening asynchronously for the left branch to become true. This halts as soon as the right or left branch halts.

  32. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  33. def merge[I]: Wye[I, I, I]

    Non-deterministic interleave of both inputs.

    Non-deterministic interleave of both inputs. Emits values whenever either of the inputs is available.

    Will terminate once both sides terminate.

  34. def mergeHaltBoth[I]: Wye[I, I, I]

    Like merge, but terminates whenever one side terminate.

  35. def mergeHaltL[I]: Wye[I, I, I]

    Like merge, but terminates whenever left side terminates.

    Like merge, but terminates whenever left side terminates. use flip to reverse this for the right side

  36. def mergeHaltR[I]: Wye[I, I, I]

    Like merge, but terminates whenever right side terminates

  37. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. final def notify(): Unit
    Definition Classes
    AnyRef
  39. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  40. def receiveBoth[I, I2, O](rcv: (ReceiveY[I, I2]) ⇒ Wye[I, I2, O]): Wye[I, I2, O]
  41. def receiveBothOr[I, I2, O](fb: (EarlyCause) ⇒ Wye[I, I2, O])(rcv: (ReceiveY[I, I2]) ⇒ Wye[I, I2, O]): Wye[I, I2, O]
  42. def receiveL[I, I2, O](rcv: (I) ⇒ Wye[I, I2, O]): Wye[I, I2, O]
  43. def receiveLOr[I, I2, O](fb: (EarlyCause) ⇒ Wye[I, I2, O])(rcv: (I) ⇒ Wye[I, I2, O]): Wye[I, I2, O]
  44. def receiveR[I, I2, O](rcv: (I2) ⇒ Wye[I, I2, O]): Wye[I, I2, O]
  45. def receiveROr[I, I2, O](fb: (EarlyCause) ⇒ Wye[I, I2, O])(rcv: (I2) ⇒ Wye[I, I2, O]): Wye[I, I2, O]
  46. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  47. def timedQueue[I](d: Duration, maxSize: Int = Int.MaxValue): Wye[Duration, I, I]

    A Wye which blocks on the right side when either a) the age of the oldest unanswered element from the left size exceeds the given duration, or b) the number of unanswered elements from the left exceeds maxSize.

  48. def toString(): String
    Definition Classes
    AnyRef → Any
  49. def unboundedQueue[I]: Wye[Any, I, I]

    Wye which repeatedly awaits both branches, emitting any values received from the right.

    Wye which repeatedly awaits both branches, emitting any values received from the right. Useful in conjunction with connect, for instance src.connect(snk)(unboundedQueue)

  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. def yip[I, I2]: Wye[I, I2, (I, I2)]

    Nondeterministic version of zip which requests both sides in parallel.

  54. def yipL[I, I2](n: Int): Wye[I, I2, (I, I2)]

    Left-biased, buffered version of yip.

    Left-biased, buffered version of yip. Allows up to n elements to enqueue on the left unanswered before requiring a response from the right. If buffer is empty, always reads from the left.

  55. def yipWith[I, I2, O](f: (I, I2) ⇒ O): Wye[I, I2, O]

    Nondeterministic version of zipWith which requests both sides in parallel.

  56. def yipWithL[I, O, O2](n: Int)(f: (I, O) ⇒ O2): Wye[I, O, O2]

    Left-biased, buffered version of yipWith.

    Left-biased, buffered version of yipWith. Allows up to n elements to enqueue on the left unanswered before requiring a response from the right. If buffer is empty, always reads from the left.

  57. object AwaitBoth
  58. object AwaitL
  59. object AwaitR
  60. object Request

Inherited from AnyRef

Inherited from Any

Ungrouped