Interface AsyncAction<D>
- All Superinterfaces:
Action
- All Known Implementing Classes:
BaseAsyncAction
An AsyncAction allows an activity type to implement asynchronous
operations within each thread.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTHIS DOCUMENTATION IS LIKELY OUT OF DATE The responsibility for tracking async pending against concurrency limits, including signaling for thread state, has been moved into the async event loop of the core motor.
-
Method Details
-
getOpInitFunction
LongFunction<D> getOpInitFunction() -
enqueue
THIS DOCUMENTATION IS LIKELY OUT OF DATE The responsibility for tracking async pending against concurrency limits, including signaling for thread state, has been moved into the async event loop of the core motor. If this experiment holds, then the docs here must be rewritten to be accurate for that approach. Enqueue a cycle to be executed by the action. This method should block unless or until the action accepts the cycle to be processed. This method is not allowed to reject a cycle. If it is unable to accept the cycle for any reason, it must throw an exception. Since the action implementation is presumed to be running some externally asynchronous process to support the action, it is up to the action itself to control when to block enqueueing. If the action is not actually asynchronous, then it may need to do downstream processing in order to open room in its concurrency limits for the new cycle. Each action implementation is responsible for tracking and controlling its own limits of concurrency. TheBaseAsyncActionbase class is a convenient starting point for such implementations. If the action is known to have additional open slots for an operations to be started (according to the configured concurrency limits), then it can signal such by returning true from this method.- Parameters:
opc- The op ctx that holds state for this operation- Returns:
- true, if the action is ready immediately for another operation
-