-
- 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 aStreamlet
. AnOutlet
represents a sink to which aStreamlet
provides state.An
Outlet
has a one-to-many relationship with a set of output sinks. An output sink of anOutlet
is anInlet
of some otherStreamlet
. ThebindOutput(Inlet)
method "plugs" anInlet
into theOutlet
. TheunbindOutput(Inlet)
method "unplugs" anInlet
from theOutlet
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
bindOutput(Inlet<? super O> output)
Adds anoutput
to the set ofInlet
s that depend on the state of thisOutlet
.void
decohereInput()
Marks thisOutlet
—and alloutputs
that depend on the state of thisOutlet
—as having decoherent state.void
disconnectInputs()
Disconnects allInlet
s dominated by thisOutlet
in the dataflow dependency graph.void
disconnectOutputs()
Disconnects allOutlet
s dominated by thisOutlet
in the dataflow graph.O
get()
Returns the current state of thisOutlet
.default <O2> Outlet<O2>
map(MapValueFunction<? super O,O2> func)
default Outlet<O>
memoize()
Iterator<? extends Inlet<? super O>>
outputIterator()
Returns anIterator
over the set ofInlet
s that depend on the state of thisOutlet
.void
recohereInput(int version)
Updates the state of thisOutlet
to make it consistent with the targetversion
.void
unbindOutput(Inlet<? super O> output)
Removes anoutput
from the set ofInlet
s that depend on the state of thisOutlet
.void
unbindOutputs()
Disconnects all outputs from thisOutlet
by invokingInlet.unbindInput()
on eachInelt
that depends on the state of thisOutlet
.default Outlet<O>
watch(WatchValueFunction<? super O> func)
-
-
-
Method Detail
-
get
O get()
Returns the current state of thisOutlet
.
-
outputIterator
Iterator<? extends Inlet<? super O>> outputIterator()
Returns anIterator
over the set ofInlet
s that depend on the state of thisOutlet
.
-
bindOutput
void bindOutput(Inlet<? super O> output)
Adds anoutput
to the set ofInlet
s that depend on the state of thisOutlet
. Theoutput
will be decohered when the state of thisOutlet
is decohered, and recohered when thisOutlet
is recohered.
-
unbindOutput
void unbindOutput(Inlet<? super O> output)
Removes anoutput
from the set ofInlet
s that depend on the state of thisOutlet
.
-
unbindOutputs
void unbindOutputs()
Disconnects all outputs from thisOutlet
by invokingInlet.unbindInput()
on eachInelt
that depends on the state of thisOutlet
.
-
disconnectOutputs
void disconnectOutputs()
Disconnects allOutlet
s dominated by thisOutlet
in the dataflow graph. Used to recursively clean up chains of combinators originating from thisInlet
.
-
disconnectInputs
void disconnectInputs()
Disconnects allInlet
s dominated by thisOutlet
in the dataflow dependency graph. Used to recursively clean up chains of combinators passing through thisOutlet
.
-
decohereInput
void decohereInput()
Marks thisOutlet
—and alloutputs
that depend on the state of thisOutlet
—as having decoherent state.
-
recohereInput
void recohereInput(int version)
Updates the state of thisOutlet
to make it consistent with the targetversion
. TheOutlet
only needs to update if its currentversion
differs from the targetversion
. To update its state, theOutlet
first invokesStreamlet.recohere(int)
on theStreamlet
to which it's attached. It then invokesInlet.recohereOutput(int)
on each of its dependentoutputs
.
-
map
default <O2> Outlet<O2> map(MapValueFunction<? super O,O2> func)
-
watch
default Outlet<O> watch(WatchValueFunction<? super O> func)
-
-