Interface AsyncCallback<T>
-
public interface AsyncCallback<T>
An asynchronous callback holder that is attached to aGraphStageLogic
. Initializinginvoke(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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
invoke(T t)
Dispatch an asynchronous notification.scala.concurrent.Future<Done>
invokeWithFeedback(T t)
Dispatch an asynchronous notification.
-
-
-
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)
-
-