com.tibbo.aggregate.common.context

## Class AwaitableRequestController

- java.lang.Object
- - com.tibbo.aggregate.common.context.DefaultRequestController
  - - com.tibbo.aggregate.common.context.AwaitableRequestController

- All Implemented Interfaces:
    RequestController, PinpointAware

      public class AwaitableRequestController
      extends DefaultRequestController

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AwaitableRequestController.Result`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AwaitableRequestController()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AwaitableRequestController.Result` | `await()`
    `java.util.Optional<AwaitableRequestController.Result>` | `await(long timeout, java.util.concurrent.TimeUnit unit)`
    `java.util.Optional<java.lang.Throwable>` | `getError()`
    `void` | `markFailure(java.lang.Throwable t)`
    `void` | `markSuccess()`

    - ### Methods inherited from class com.tibbo.aggregate.common.context.DefaultRequestController

      `assignPinpoint, getEvaluator, getLockTimeout, getOriginator, getQueue, isLoggerRequest, isReplyRequired, obtainPinpoint, setEvaluator, setReplyRequired`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.tibbo.aggregate.common.structure.PinpointAware

      `assignPinpoint, removePinpoint`

- - ### Constructor Detail

    - #### AwaitableRequestController

          public AwaitableRequestController()

  - ### Method Detail

    - #### markSuccess

          public void markSuccess()

    - #### markFailure

          public void markFailure(java.lang.Throwable t)

    - #### await

          public AwaitableRequestController.Result await()
                                                  throws java.lang.InterruptedException

      Throws:
        `java.lang.InterruptedException`

    - #### await

          public java.util.Optional<AwaitableRequestController.Result> await(long timeout,
                                                                             java.util.concurrent.TimeUnit unit)
                                                                      throws java.lang.InterruptedException

      Throws:
        `java.lang.InterruptedException`

    - #### getError

          public java.util.Optional<java.lang.Throwable> getError()