Interface AsyncCallback<T>


  • public interface AsyncCallback<T>
    An asynchronous callback holder that is attached to a GraphStageLogic. Initializing invoke(T) will eventually lead to the registered handler being called.

    This holder has the same lifecycle as a stream and cannot be used before materialization is done.

    Typical use cases are exchanging messages between stream and substreams or invoking from external world sending event to a stream

    • Method Detail

      • invoke

        void invoke​(T t)
        Dispatch an asynchronous notification. This method is thread-safe and may be invoked from external execution contexts.

        For cases where it is important to know if the notification was ever processed or not see invokeWithFeedback(T)

      • invokeWithFeedback

        scala.concurrent.Future<Done> invokeWithFeedback​(T t)
        Dispatch an asynchronous notification. This method is thread-safe and may be invoked from external execution contexts.

        The method returns directly and the returned future is then completed once the event has been handled by the operator, if the event triggers an exception from the handler the future is failed with that exception and finally if the operator was stopped before the event has been handled the future is failed with StreamDetachedException.

        The handling of the returned future incurs a slight overhead, so for cases where it does not matter to the invoking logic see invoke(T)