Class AbstractMapInlet<K,​V,​O>

    • Constructor Detail

      • AbstractMapInlet

        public AbstractMapInlet()
    • Method Detail

      • input

        public MapOutlet<K,​V,​? extends O> input()
        Description copied from interface: Inlet
        Returns the Outlet from which this Inlet acquires its state; returns null if this Inlet is disconnected.
        Specified by:
        input in interface Inlet<K>
      • bindInput

        public void bindInput​(Outlet<? extends O> input)
        Description copied from interface: Inlet
        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.
        Specified by:
        bindInput in interface Inlet<K>
      • bindInput

        public void bindInput​(MapOutlet<K,​V,​? extends O> input)
      • unbindInput

        public void unbindInput()
        Description copied from interface: Inlet
        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.
        Specified by:
        unbindInput in interface Inlet<K>
      • disconnectInputs

        public void disconnectInputs()
        Description copied from interface: Inlet
        Disconnects all Inlets dominated by this Inlet in the dataflow dependency graph. Used to recursively clean up chains of combinators terminating at this Inlet.
        Specified by:
        disconnectInputs in interface Inlet<K>
      • disconnectOutputs

        public void disconnectOutputs()
        Description copied from interface: Inlet
        Disconnects all Outlets dominated by this Inlet in the dataflow graph. Used to recursively clean up chains of combinators passing through this Inlet.
        Specified by:
        disconnectOutputs in interface Inlet<K>
      • decohereOutputKey

        public void decohereOutputKey​(K key,
                                      KeyEffect effect)
        Description copied from interface: MapInlet
        Marks this MapInlet as needing an effect applied to a given key. Decohering an individual key decoheres the entire state of the Inlet. But only the decoherent keys need to be updated in order to recohere the overall state of the Inlet.
        Specified by:
        decohereOutputKey in interface MapInlet<K,​V,​O>
      • decohereOutput

        public void decohereOutput()
        Description copied from interface: Inlet
        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 Inlet.recohereOutput(int) call will eventually make the state of the Inlet coherent again.
        Specified by:
        decohereOutput in interface Inlet<K>
      • recohereOutputKey

        public void recohereOutputKey​(K key,
                                      int version)
        Description copied from interface: MapInlet
        Updates the state of an individual key in this MapInlet to make it consistent with the target version. The MapInlet only needs to update if the current version differs from the target version. To update the state of a key, the MapInlet first invokes MapOutlet.recohereInputKey(Object, int) on its input, if its input is a MapOutlet, or it invokes Outlet.recohereInput(int), if its input is not a MapOutlet. Then, if all decoherent keys have been recohered, the MapInlet invokes Streamlet.recohere(int) on its attached streamlet.
        Specified by:
        recohereOutputKey in interface MapInlet<K,​V,​O>
      • recohereOutput

        public void recohereOutput​(int version)
        Description copied from interface: Inlet
        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.
        Specified by:
        recohereOutput in interface Inlet<K>
      • willDecohereOutputKey

        protected void willDecohereOutputKey​(K key,
                                             KeyEffect effect)
      • onDecohereOutputKey

        protected void onDecohereOutputKey​(K key,
                                           KeyEffect effect)
      • didDecohereOutputKey

        protected void didDecohereOutputKey​(K key,
                                            KeyEffect effect)
      • willDecohereOutput

        protected void willDecohereOutput()
      • onDecohereOutput

        protected void onDecohereOutput()
      • didDecohereOutput

        protected void didDecohereOutput()
      • willRecohereOutputKey

        protected void willRecohereOutputKey​(K key,
                                             KeyEffect effect,
                                             int version)
      • onRecohereOutputKey

        protected void onRecohereOutputKey​(K key,
                                           KeyEffect effect,
                                           int version)
      • didRecohereOutputKey

        protected void didRecohereOutputKey​(K key,
                                            KeyEffect effect,
                                            int version)
      • willRecohereOutput

        protected void willRecohereOutput​(int version)
      • onRecohereOutput

        protected void onRecohereOutput​(int version)
      • didRecohereOutput

        protected void didRecohereOutput​(int version)