Interface Outlet<O>

All Known Subinterfaces:
Inoutlet<I,O>, MapDownlink<K,V>, MapInletMapOutlet<KI,KO,VI,VO,I,O>, MapInletOutlet<K,V,I,O>, MapInoutlet<K,VI,VO,I,O>, MapLane<K,V>, MapOutlet<K,V,O>, RecordOutlet, ValueDownlink<V>, ValueLane<V>
All Known Implementing Classes:
AbstractInoutlet, AbstractMapInletMapOutlet, AbstractMapInletOutlet, AbstractMapInoutlet, AbstractMapOutlet, AbstractOutlet, AbstractRecordOutlet, AndOutlet, BinaryOutlet, BitwiseAndOutlet, BitwiseNotOutlet, BitwiseOrOutlet, BitwiseXorOutlet, ConditionalOutlet, DivideOutlet, DownlinkRecord, EqOutlet, FilterFieldsCombinator, FilterFieldsOperator, GeOutlet, GetOutlet, GtOutlet, InvokeOutlet, JoinMapLaneDownlink, JoinValueLaneDownlink, KeyOutlet, LeOutlet, ListDownlinkRecord, LtOutlet, MapDownlinkRecord, MapDownlinkView, MapFieldValuesCombinator, MapFieldValuesOperator, MapInput, MapLaneView, MapValueCombinator, MapValueOperator, MemoizeMapCombinator, MemoizeValueCombinator, MinusOutlet, ModuloOutlet, NegativeOutlet, NeOutlet, NotOutlet, OrOutlet, PlusOutlet, PositiveOutlet, RecordModel, RecordScope, ReduceFieldsCombinator, ReduceFieldsOperator, StreamletInoutlet, StreamletOutlet, TimesOutlet, UnaryOutlet, ValueDownlinkRecord, ValueDownlinkView, ValueInput, ValueLaneView

public interface Outlet<O>
Output connector from a Streamlet. An Outlet represents a sink to which a Streamlet provides state.

An Outlet has a one-to-many relationship with a set of output sinks. An output sink of an Outlet is an Inlet of some other Streamlet. The bindOutput(Inlet) method "plugs" an Inlet into the Outlet. The unbindOutput(Inlet) method "unplugs" an Inlet from the Outlet.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    bindOutput(Inlet<? super O> output)
    Adds an output to the set of Inlets that depend on the state of this Outlet.
    void
    Marks this Outlet—and all outputs that depend on the state of this Outlet—as having decoherent state.
    void
    Disconnects all Inlets dominated by this Outlet in the dataflow dependency graph.
    void
    Disconnects all Outlets dominated by this Outlet in the dataflow graph.
    get()
    Returns the current state of this Outlet.
    default <O2> Outlet<O2>
    map(MapValueFunction<? super O,O2> func)
     
    default Outlet<O>
     
    Iterator<? extends Inlet<? super O>>
    Returns an Iterator over the set of Inlets that depend on the state of this Outlet.
    void
    recohereInput(int version)
    Updates the state of this Outlet to make it consistent with the target version.
    void
    unbindOutput(Inlet<? super O> output)
    Removes an output from the set of Inlets that depend on the state of this Outlet.
    void
    Disconnects all outputs from this Outlet by invoking Inlet.unbindInput() on each Inelt that depends on the state of this Outlet.
    default Outlet<O>
    watch(WatchValueFunction<? super O> func)
     
  • Method Details

    • 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()
    • map

      default <O2> Outlet<O2> map(MapValueFunction<? super O,O2> func)
    • watch

      default Outlet<O> watch(WatchValueFunction<? super O> func)