- 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 TypeMethodDescriptionvoid
bindOutput
(Inlet<? super O> output) Adds anoutput
to the set ofInlet
s that depend on the state of thisOutlet
.void
Marks thisOutlet
—and alloutputs
that depend on the state of thisOutlet
—as having decoherent state.void
Disconnects allInlet
s dominated by thisOutlet
in the dataflow dependency graph.void
Disconnects allOutlet
s dominated by thisOutlet
in the dataflow graph.get()
Returns the current state of thisOutlet
.default <O2> Outlet<O2>
map
(MapValueFunction<? super O, O2> func) memoize()
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
Disconnects all outputs from thisOutlet
by invokingInlet.unbindInput()
on eachInelt
that depends on the state of thisOutlet
.watch
(WatchValueFunction<? super O> func)
-
Method Details
-
get
O get()Returns the current state of thisOutlet
. -
outputIterator
Returns anIterator
over the set ofInlet
s that depend on the state of thisOutlet
. -
bindOutput
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
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
. -
memoize
-
map
-
watch
-