uk.gov.hmrc.play.asyncmvc

# async

#### package async

Visibility

1. Public
2. All

### Type Members

1. #### trait AsyncMVC[OUTPUT] extends AsyncTask[OUTPUT] with SessionHandler with AsyncValidation with LogWrapper

   The AsyncMVC trait supports two features detailed below...

   The AsyncMVC trait supports two features detailed below...

   1) Action wrapper (asyncWrapper) to define the code-block to be processed off-line in a background queue. The client is responsible for polling the framework to understand when the task completes.

   2) Async action wrapper (asyncActionWrapper). The wrapper is used to stop the user from jumping to different pages (within a specific web journey) while an async task is being processed for the user. If a task is currently running, the user will be returned to the polling page.

   OUTPUT

     - The type of the response from the Future being off-lined.

2. #### case class AsyncPaths(id: String, path: String) extends Product with Serializable

3. #### trait AsyncTask[OUTPUT] extends LogWrapper

   The AsyncTask is responsible for processing an AsyncMVCAsyncActor message, where is message encapsulates a Future to be processed.

   The AsyncTask is responsible for processing an AsyncMVCAsyncActor message, where is message encapsulates a Future to be processed.

   OUTPUT

     - The Type the Task will return.

4. #### trait AsyncValidation extends AnyRef

   Validate the async request against the associated controller action.

   Validate the async request against the associated controller action. Since each controller would be associated to an output type, only the controller associated with the type should process the off-line response.

   When defining multiple async actions with different response (OUTPUT) types, a new controller should be defined for each response type. Alternatively, a single generic controller could be defined for all actions, using a common (OUTPUT) type!

5. #### trait Cache[T] extends AnyRef

   Cache interface to store the state of task outcome.

   Cache interface to store the state of task outcome.

   T

     - The type of the Cache.

6. #### trait LogWrapper extends AnyRef

7. #### trait SessionHandler extends AnyRef

### Value Members

1. #### object Throttle

2. #### object TimedEvent

### Ungrouped