org.apache.thrift.async

## Class TAsyncMethodCall<T>

- java.lang.Object
- - org.apache.thrift.async.TAsyncMethodCall<T>

- Type Parameters:
    `T` -

      public abstract class TAsyncMethodCall<T>
      extends java.lang.Object

  Encapsulates an async method call Need to generate: - private void write_args(TProtocol protocol) - public T getResult() throws , , ...

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `TAsyncMethodCall.State`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected TAsyncClient` | `client`
    `protected TNonblockingTransport` | `transport`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `TAsyncMethodCall(TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport, AsyncMethodCallback<T> callback, boolean isOneway)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TAsyncClient` | `getClient()`
    `protected java.nio.ByteBuffer` | `getFrameBuffer()`
    `protected long` | `getSequenceId()`
    `protected long` | `getStartTime()`
    `protected TAsyncMethodCall.State` | `getState()`
    `long` | `getTimeoutTimestamp()`
    `boolean` | `hasTimeout()`
    `protected boolean` | `isFinished()`
    `protected void` | `onError(java.lang.Exception e)`
    `protected void` | `prepareMethodCall()` Initialize buffers.
    `protected void` | `transition(java.nio.channels.SelectionKey key)` Transition to next state, doing whatever work is required.
    `protected abstract void` | `write_args(TProtocol protocol)`

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

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

- - ### Field Detail

    - #### transport

          protected final TNonblockingTransport transport

    - #### client

          protected final TAsyncClient client

  - ### Constructor Detail

    - #### TAsyncMethodCall

          protected TAsyncMethodCall(TAsyncClient client,
                          TProtocolFactory protocolFactory,
                          TNonblockingTransport transport,
                          AsyncMethodCallback<T> callback,
                          boolean isOneway)

  - ### Method Detail

    - #### getState

          protected TAsyncMethodCall.State getState()

    - #### isFinished

          protected boolean isFinished()

    - #### getStartTime

          protected long getStartTime()

    - #### getSequenceId

          protected long getSequenceId()

    - #### getClient

          public TAsyncClient getClient()

    - #### hasTimeout

          public boolean hasTimeout()

    - #### getTimeoutTimestamp

          public long getTimeoutTimestamp()

    - #### write_args

          protected abstract void write_args(TProtocol protocol)
                                      throws TException

      Throws:
        `TException`

    - #### prepareMethodCall

          protected void prepareMethodCall()
                                    throws TException

      Initialize buffers.
      Throws:
        `TException` - if buffer initialization fails

    - #### getFrameBuffer

          protected java.nio.ByteBuffer getFrameBuffer()

    - #### transition

          protected void transition(java.nio.channels.SelectionKey key)

      Transition to next state, doing whatever work is required. Since this method is only called by the selector thread, we can make changes to our select interests without worrying about concurrency.
      Parameters:
        `key` -

    - #### onError

          protected void onError(java.lang.Exception e)