Package akka.stream

Class UniqueKillSwitch

  • All Implemented Interfaces:
    KillSwitch

    public final class UniqueKillSwitch
    extends java.lang.Object
    implements KillSwitch
    A UniqueKillSwitch is always a result of a materialization (unlike SharedKillSwitch which is constructed before any materialization) and it always controls that graph and operator which yielded the materialized value.

    After calling shutdown() the running instance of the Graph of FlowShape that materialized to the UniqueKillSwitch will complete its downstream and cancel its upstream (unless if finished or failed already in which case the command is ignored). Subsequent invocations of completion commands will be ignored.

    After calling UniqueKillSwitch#abort() the running instance of the Graph of FlowShape that materialized to the UniqueKillSwitch will fail its downstream with the provided exception and cancel its upstream (unless if finished or failed already in which case the command is ignored). Subsequent invocations of completion commands will be ignored.

    It is also possible to individually cancel, complete or fail upstream and downstream parts by calling the corresponding methods.

    • Constructor Summary

      Constructors 
      Constructor Description
      UniqueKillSwitch​(scala.concurrent.Promise<Done> promise)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void abort​(java.lang.Throwable ex)
      After calling UniqueKillSwitch#abort() the running instance of the Graph of FlowShape that materialized to the UniqueKillSwitch will fail its downstream with the provided exception and cancel its upstream (unless if finished or failed already in which case the command is ignored).
      void shutdown()
      After calling shutdown() the running instance of the Graph of FlowShape that materialized to the UniqueKillSwitch will complete its downstream and cancel its upstream (unless if finished or failed already in which case the command is ignored).
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • UniqueKillSwitch

        public UniqueKillSwitch​(scala.concurrent.Promise<Done> promise)
    • Method Detail

      • abort

        public void abort​(java.lang.Throwable ex)
        After calling UniqueKillSwitch#abort() the running instance of the Graph of FlowShape that materialized to the UniqueKillSwitch will fail its downstream with the provided exception and cancel its upstream (unless if finished or failed already in which case the command is ignored). Subsequent invocations of completion commands will be ignored.
        Specified by:
        abort in interface KillSwitch
        Parameters:
        ex - (undocumented)
      • shutdown

        public void shutdown()
        After calling shutdown() the running instance of the Graph of FlowShape that materialized to the UniqueKillSwitch will complete its downstream and cancel its upstream (unless if finished or failed already in which case the command is ignored). Subsequent invocations of completion commands will be ignored.
        Specified by:
        shutdown in interface KillSwitch
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object