Interface Inlet<I>

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void bindInput​(Outlet<? extends I> input)
      Connects this Inlet to an Outlet from which it will acquire its state.
      void decohereOutput()
      Marks this Inlet—and the Streamlet to which this Inlet is attached—as having decoherent state.
      void disconnectInputs()
      Disconnects all Inlets dominated by this Inlet in the dataflow dependency graph.
      void disconnectOutputs()
      Disconnects all Outlets dominated by this Inlet in the dataflow graph.
      Outlet<? extends I> input()
      Returns the Outlet from which this Inlet acquires its state; returns null if this Inlet is disconnected.
      void recohereOutput​(int version)
      Updates the state of this Inlet to make it consistent with the target version.
      void unbindInput()
      Disconnects this Inlet from its input Outlet, if connected.
    • Method Detail

      • input

        Outlet<? extends I> input()
        Returns the Outlet from which this Inlet acquires its state; returns null if this Inlet is disconnected.
      • bindInput

        void bindInput​(Outlet<? extends I> input)
        Connects this Inlet to an Outlet from which it will acquire its state. If this Inlet is already connected, it will first disconnect from its existing input. Then, after updating its input property, the Inlet will invoke Outlet.bindOutput(Inlet) on its new input.
      • unbindInput

        void unbindInput()
        Disconnects this Inlet from its input Outlet, if connected. After setting its input property to null, the Inlet will invoke Outlet.unbindOutput(Inlet) on its old input, if defined.
      • disconnectInputs

        void disconnectInputs()
        Disconnects all Inlets dominated by this Inlet in the dataflow dependency graph. Used to recursively clean up chains of combinators terminating at this Inlet.
      • disconnectOutputs

        void disconnectOutputs()
        Disconnects all Outlets dominated by this Inlet in the dataflow graph. Used to recursively clean up chains of combinators passing through this Inlet.
      • decohereOutput

        void decohereOutput()
        Marks this Inlet—and the Streamlet to which this Inlet is attached—as having decoherent state. Decohering an Inlet will recursively decohere all streamlets that transitively depend on the state of this Inlet. Decohering an Inlet does not cause its state to be recomputed. A subsequent recohereOutput(int) call will eventually make the state of the Inlet coherent again.
      • recohereOutput

        void recohereOutput​(int version)
        Updates the state of this Inlet to make it consistent with the target version. The Inlet only needs to update if its current version differs from the target version. To update its state, the Inlet first invokes Outlet.recohereInput(int) on its input, to ensure that its input is coherent. It then invokes Streamlet.recohere(int) on the Streamlet to which it's attached, causing the Streamlet to make its own state coherent again.