Package 

Interface Call


  • 
    public interface Call<T extends Object>
    
                        

    A pending operation waiting to be ran.

    There are several ways to run a Call:

    • execute: synchronous, blocking

    • enqueue: async, callback based

    • await: async, suspending call

    Running a Call more than once results in undefined behaviour.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      public interface Call.Callback
    • Method Summary

      Modifier and Type Method Description
      abstract Result<T> execute() Executes the call synchronously, in a blocking way.
      abstract Unit enqueue(Call.Callback<T> callback) Executes the call asynchronously, on a background thread.
      Unit enqueue() Executes the call asynchronously, on a background thread.
      abstract Unit cancel() Cancels the execution of the call, if cancellation is supported for the operation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • execute

        @WorkerThread() abstract Result<T> execute()

        Executes the call synchronously, in a blocking way. Only call this from a background thread.

      • enqueue

         abstract Unit enqueue(Call.Callback<T> callback)

        Executes the call asynchronously, on a background thread. Safe to call from the main thread. The callback will always be invoked on the main thread.

      • enqueue

         Unit enqueue()

        Executes the call asynchronously, on a background thread. Safe to call from the main thread.

        To get notified of the result and handle errors, use enqueue(callback) instead.

      • cancel

         abstract Unit cancel()

        Cancels the execution of the call, if cancellation is supported for the operation.

        Note that calls can not be cancelled when running them with execute.