Interface Outlet<O>

    • Method Detail

      • get

        O get()
        Returns the current state of this Outlet.
      • outputIterator

        Iterator<? extends Inlet<? super O>> outputIterator()
        Returns an Iterator over the set of Inlets that depend on the state of this Outlet.
      • bindOutput

        void bindOutput​(Inlet<? super O> output)
        Adds an output to the set of Inlets that depend on the state of this Outlet. The output will be decohered when the state of this Outlet is decohered, and recohered when this Outlet is recohered.
      • unbindOutput

        void unbindOutput​(Inlet<? super O> output)
        Removes an output from the set of Inlets that depend on the state of this Outlet.
      • unbindOutputs

        void unbindOutputs()
        Disconnects all outputs from this Outlet by invoking Inlet.unbindInput() on each Inelt that depends on the state of this Outlet.
      • disconnectOutputs

        void disconnectOutputs()
        Disconnects all Outlets dominated by this Outlet in the dataflow graph. Used to recursively clean up chains of combinators originating from this Inlet.
      • disconnectInputs

        void disconnectInputs()
        Disconnects all Inlets dominated by this Outlet in the dataflow dependency graph. Used to recursively clean up chains of combinators passing through this Outlet.
      • decohereInput

        void decohereInput()
        Marks this Outlet—and all outputs that depend on the state of this Outlet—as having decoherent state.
      • recohereInput

        void recohereInput​(int version)
        Updates the state of this Outlet to make it consistent with the target version. The Outlet only needs to update if its current version differs from the target version. To update its state, the Outlet first invokes Streamlet.recohere(int) on the Streamlet to which it's attached. It then invokes Inlet.recohereOutput(int) on each of its dependent outputs.
      • memoize

        default Outlet<O> memoize()