final class BidiFlow[-I1, +O1, -I2, +O2, +Mat] extends Graph[BidiShape[I1, O1, I2, O2], Mat]
- Source
- BidiFlow.scala
- Alphabetic
- By Inheritance
- BidiFlow
- Graph
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
Type Members
Value Members
- 
      
      
      
        
      
    
      
        
        def
      
      
        addAttributes(attr: Attributes): BidiFlow[I1, O1, I2, O2, Mat]
      
      
      Add the given attributes to this Source. 
-  def asJava[JI1 <: I1, JO1 >: O1, JI2 <: I2, JO2 >: O2, JMat >: Mat]: javadsl.BidiFlow[JI1, JO1, JI2, JO2, JMat]
- 
      
      
      
        
      
    
      
        
        def
      
      
        async(dispatcher: String, inputBufferSize: Int): BidiFlow[I1, O1, I2, O2, Mat]
      
      
      Put an asynchronous boundary around this BidiFlow
- 
      
      
      
        
      
    
      
        
        def
      
      
        async(dispatcher: String): BidiFlow[I1, O1, I2, O2, Mat]
      
      
      Put an asynchronous boundary around this BidiFlow
- 
      
      
      
        
      
    
      
        
        def
      
      
        async: BidiFlow[I1, O1, I2, O2, Mat]
      
      
      Put an asynchronous boundary around this BidiFlow
- 
      
      
      
        
      
    
      
        
        def
      
      
        atop[OO1, II2, Mat2](bidi: Graph[BidiShape[O1, OO1, II2, I2], Mat2]): BidiFlow[I1, OO1, II2, O2, Mat]
      
      
      Add the given BidiFlow as the next step in a bidirectional transformation pipeline. Add the given BidiFlow as the next step in a bidirectional transformation pipeline. By convention protocol stacks are growing to the left: the right most is the bottom layer, the closest to the metal. +----------------------------+ | Resulting BidiFlow | | | | +------+ +------+ | I1 ~~> | | ~O1~> | | ~~> OO1 | | this | | bidi | | O2 <~~ | | <~I2~ | | <~~ II2 | +------+ +------+ | +----------------------------+The materialized value of the combined BidiFlow will be the materialized value of the current flow (ignoring the other BidiFlow’s value), use atopMat if a different strategy is needed. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        atopMat[OO1, II2, Mat2, M](bidi: Graph[BidiShape[O1, OO1, II2, I2], Mat2])(combine: (Mat, Mat2) ⇒ M): BidiFlow[I1, OO1, II2, O2, M]
      
      
      Add the given BidiFlow as the next step in a bidirectional transformation pipeline. Add the given BidiFlow as the next step in a bidirectional transformation pipeline. By convention protocol stacks are growing to the left: the right most is the bottom layer, the closest to the metal. +----------------------------+ | Resulting BidiFlow | | | | +------+ +------+ | I1 ~~> | | ~O1~> | | ~~> OO1 | | this | | bidi | | O2 <~~ | | <~I2~ | | <~~ II2 | +------+ +------+ | +----------------------------+The combinefunction is used to compose the materialized values of this flow and that flow into the materialized value of the resulting BidiFlow.
- 
      
      
      
        
      
    
      
        
        def
      
      
        join[Mat2](flow: Graph[FlowShape[O1, I2], Mat2]): Flow[I1, O2, Mat]
      
      
      Add the given Flow as the final step in a bidirectional transformation pipeline. Add the given Flow as the final step in a bidirectional transformation pipeline. By convention protocol stacks are growing to the left: the right most is the bottom layer, the closest to the metal. +---------------------------+ | Resulting Flow | | | | +------+ +------+ | I1 ~~> | | ~O1~> | | | | | this | | flow | | O2 <~~ | | <~I2~ | | | | +------+ +------+ | +---------------------------+The materialized value of the combined Flow will be the materialized value of the current flow (ignoring the other Flow’s value), use joinMat if a different strategy is needed. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        joinMat[Mat2, M](flow: Graph[FlowShape[O1, I2], Mat2])(combine: (Mat, Mat2) ⇒ M): Flow[I1, O2, M]
      
      
      Add the given Flow as the final step in a bidirectional transformation pipeline. Add the given Flow as the final step in a bidirectional transformation pipeline. By convention protocol stacks are growing to the left: the right most is the bottom layer, the closest to the metal. +---------------------------+ | Resulting Flow | | | | +------+ +------+ | I1 ~~> | | ~O1~> | | | | | this | | flow | | O2 <~~ | | <~I2~ | | | | +------+ +------+ | +---------------------------+The combinefunction is used to compose the materialized values of this flow and that flow into the materialized value of the resulting Flow.
- 
      
      
      
        
      
    
      
        
        def
      
      
        mapMaterializedValue[Mat2](f: (Mat) ⇒ Mat2): BidiFlow[I1, O1, I2, O2, Mat2]
      
      
      Transform only the materialized value of this BidiFlow, leaving all other properties as they were. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        named(name: String): BidiFlow[I1, O1, I2, O2, Mat]
      
      
      Add a name
- 
      
      
      
        
      
    
      
        
        def
      
      
        reversed: BidiFlow[I2, O2, I1, O1, Mat]
      
      
      Turn this BidiFlow around by 180 degrees, logically flipping it upside down in a protocol stack. 
- 
      
      
      
        
      
    
      
        
        val
      
      
        shape: BidiShape[I1, O1, I2, O2]
      
      
      The shape of a graph is all that is externally visible: its inlets and outlets. 
- 
      
      
      
        
      
    
      
        
        val
      
      
        traversalBuilder: TraversalBuilder
      
      
      INTERNAL API. 
- 
      
      
      
        
      
    
      
        
        def
      
      
        withAttributes(attr: Attributes): BidiFlow[I1, O1, I2, O2, Mat]
      
      
      Change the attributes of this Source to the given ones and seal the list of attributes. Change the attributes of this Source to the given ones and seal the list of attributes. This means that further calls will not be able to remove these attributes, but instead add new ones. Note that this operation has no effect on an empty Flow (because the attributes apply only to the contained processing operators).