object Evolution
- Source
- Evolution.scala
- Alphabetic
- By Inheritance
- Evolution
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class AndThen[-I, OI, +O, +E](upstream: Evolution[OI, O, E], downstream: Evolution[I, OI, E]) extends Evolution[I, O, E] with Product with Serializable
An Evolution composed of two sequential evolutions.
An Evolution composed of two sequential evolutions.
Parameter naming
The field names are intentionally the reverse of Stage.AndThen. In
Stage.AndThen,upstreamprocessesI → OIanddownstreamprocessesOI → O. Here it is the other way around:downstream: Evolution[I, OI, E]— holds the evolution of the pipeline's upstream stage (I → OI).upstream: Evolution[OI, O, E]— holds the evolution of the pipeline's downstream stage (OI → O).
The inversion follows from how
<~routes data:upstream(s) <~ downstream(s)feedsdownstream's stage first, so theI → OIevolution occupiesdownstreamandOI → Ooccupiesupstream.composestores its receiver asdownstreamand its argument asupstream:pipelineUpstream.skip().compose(pipelineDownstream.skip()) // == Evolution.AndThen(upstream = pipelineDownstream.skip(), // downstream = pipelineUpstream.skip())
Continuation composition
For any status
s:composed(s) == upstream(s) <~ downstream(s) // data flow: I → downstream's stage → OI → upstream's stage → ODisposal
Both evolutions are disposed in the order
upstreamthendownstream(i.e. pipeline-downstream first, then pipeline-upstream), matching the reverse-order convention used in Stage.AndThen before disposal was moved toEvolution.- I
input type of the composed pipeline
- OI
intermediate type between the two stages
- O
output type of the composed pipeline
- E
error type
- upstream
the evolution of the pipeline's downstream stage (
OI → O)- downstream
the evolution of the pipeline's upstream stage (
I → OI)
- type Any = Evolution[_, _, _]
- type Endo[T, +E] = Evolution[T, T, E]
- final case class Mapped[II, IO, IE, -OI, +OO, +OE](evolution: Evolution[II, IO, IE], f: (Stage[II, IO, IE]) => Stage[OI, OO, OE]) extends Evolution[OI, OO, OE] with Product with Serializable
An Evolution whose continuations are produced by applying
fto the corresponding continuations ofevolution.An Evolution whose continuations are produced by applying
fto the corresponding continuations ofevolution.Created by Evolution#map. Disposal is delegated to the wrapped
evolution.- II
input type of the inner stages
- IO
output type of the inner stages
- IE
error type of the inner stages
- OI
input type of the resulting stages (contravariant)
- OO
output type of the resulting stages (covariant)
- OE
error type of the resulting stages (covariant)
- evolution
the inner evolution whose continuations are transformed
- f
the function applied to each continuation stage
Value Members
- final def !=(arg0: scala.Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: scala.Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)