Package 

Class RequestQueue


  • 
    public class RequestQueue
    extends TimeoutableRequest
                        

    A base class for a request queue.

    Operations added to the queue are executed in FIFO order. Cancellation of the queue will cancel the current request and return REASON_CANCELLED.

    • Method Summary

      Modifier and Type Method Description
      RequestQueue setHandler(@Nullable() Handler handler) Sets the handler that will be used to invoke callbacks.
      RequestQueue done(@NonNull() SuccessCallback callback) Use to set a completion callback.
      RequestQueue fail(@NonNull() FailCallback callback) Use to set a callback that will be called in case the request has failed.
      RequestQueue invalid(@NonNull() InvalidRequestCallback callback) Use to set a callback that will be called in case the request was invalid, for examplecalled before the device was connected.This callback will be ignored if request was executed synchronously, in which casethe error will be returned as an exception.
      RequestQueue before(@NonNull() BeforeCallback callback) Sets a callback that will be executed before the execution of this operation starts.
      RequestQueue then(@NonNull() AfterCallback callback) Sets a callback that will be executed when the request has been processed, no matterthe request result.
      RequestQueue timeout(@IntRange(from = 0) long timeout) Sets the operation timeout.
      RequestQueue add(@NonNull() Operation operation) Enqueues a new operation.
      int size() Returns number of enqueued operations.
      boolean isEmpty() Returns whether the set is empty, or not.
      void cancel() Cancels all the enqueued operations that were not executed yet.
      • Methods inherited from class no.nordicsemi.android.ble.TimeoutableRequest

        await, await, enqueue, enqueue, isCancelled, setHandler, timeout
      • Methods inherited from class no.nordicsemi.android.ble.Request

        before, createBond, done, fail, invalid, newConnectionPriorityRequest, newDisableBatteryLevelNotificationsRequest, newDisableIndicationsRequest, newDisableNotificationsRequest, newEnableBatteryLevelNotificationsRequest, newEnableIndicationsRequest, newEnableNotificationsRequest, newMtuRequest, newReadBatteryLevelRequest, newReadPhyRequest, newReadRequest, newReadRequest, newReadRssiRequest, newRefreshCacheRequest, newSetPreferredPhyRequest, newSleepRequest, newWaitForIndicationRequest, newWaitForNotificationRequest, newWriteRequest, newWriteRequest, newWriteRequest, newWriteRequest, newWriteRequest, newWriteRequest, removeBond, setHandler, then
      • Methods inherited from class java.lang.Object

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

      • setHandler

        @NonNull() RequestQueue setHandler(@Nullable() Handler handler)

        Sets the handler that will be used to invoke callbacks. By default, the handler set in BleManager will be used.

        If set to null, the callbacks will be invoked immediately on the BLE looper.

        Parameters:
        handler - The handler to invoke callbacks for this request.
      • done

        @NonNull() RequestQueue done(@NonNull() SuccessCallback callback)

        Use to set a completion callback. The callback will be invoked when the operation hasfinished successfully unless the request was executed synchronously, in which case thiscallback will be ignored.

        Parameters:
        callback - the callback.
      • fail

        @NonNull() RequestQueue fail(@NonNull() FailCallback callback)

        Use to set a callback that will be called in case the request has failed.If the target device wasn't set before executing this request(connect was never called), the invalid will be used instead, as the BluetoothDevice is not known.

        This callback will be ignored if request was executed synchronously, in which casethe error will be returned as an exception.

        Parameters:
        callback - the callback.
      • invalid

        @NonNull() RequestQueue invalid(@NonNull() InvalidRequestCallback callback)

        Use to set a callback that will be called in case the request was invalid, for examplecalled before the device was connected.This callback will be ignored if request was executed synchronously, in which casethe error will be returned as an exception.

        Parameters:
        callback - the callback.
      • timeout

        @NonNull() RequestQueue timeout(@IntRange(from = 0) long timeout)

        Sets the operation timeout.When the timeout occurs, the request will fail with REASON_TIMEOUT.

        Parameters:
        timeout - the request timeout in milliseconds, 0 to disable timeout.
      • add

        @NonNull() RequestQueue add(@NonNull() Operation operation)

        Enqueues a new operation. All operations will be executed sequentially in order they wereadded.

        Parameters:
        operation - the new operation to be enqueued.
      • size

        @IntRange(from = 0) int size()

        Returns number of enqueued operations.

      • isEmpty

         boolean isEmpty()

        Returns whether the set is empty, or not.

      • cancel

         void cancel()

        Cancels all the enqueued operations that were not executed yet.The one currently executed will be cancelled, if it is TimeoutableRequest.

        Cancelled operations will NOT be notified with REASON_CANCELLED,they will be just removed from the queue.

        It is safe to call this method in done or fail callback;