-
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 RequestQueuesetHandler(@Nullable() Handler handler)Sets the handler that will be used to invoke callbacks. RequestQueuedone(@NonNull() SuccessCallback callback)Use to set a completion callback. RequestQueuefail(@NonNull() FailCallback callback)Use to set a callback that will be called in case the request has failed. RequestQueueinvalid(@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. RequestQueuebefore(@NonNull() BeforeCallback callback)Sets a callback that will be executed before the execution of this operation starts. RequestQueuethen(@NonNull() AfterCallback callback)Sets a callback that will be executed when the request has been processed, no matterthe request result. RequestQueuetimeout(@IntRange(from = 0) long timeout)Sets the operation timeout. RequestQueueadd(@NonNull() Operation operation)Enqueues a new operation. intsize()Returns number of enqueued operations. booleanisEmpty()Returns whether the set is empty, or not. voidcancel()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.
-
before
@NonNull() RequestQueue before(@NonNull() BeforeCallback callback)
Sets a callback that will be executed before the execution of this operation starts.
- Parameters:
callback- the callback.
-
then
@NonNull() RequestQueue then(@NonNull() AfterCallback callback)
Sets a callback that will be executed when the request has been processed, no matterthe request result.
Set done or fail if you need a callbackcalled in a specific situation.
This request will not be called if the BluetoothDevice was not set. Instead, InvalidRequestCallback will be called.
- 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.
-
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.
-
-
-
-