enqueue<T> method
Future<T>
enqueue<T>({
- required String domain,
- required Future<
T> execute(), - RequestPriority priority = RequestPriority.normal,
Adds a request to the queue
Implementation
Future<T> enqueue<T>({
required String domain,
required Future<T> Function() execute,
RequestPriority priority = RequestPriority.normal,
}) {
// Check if the queue is full
if (_queue.length >= maxQueueSize) {
throw Exception('Request queue is full');
}
// Create a completer for the request
final completer = Completer<T>();
// Create a queued request
final request = QueuedRequest<T>(
domain: domain,
priority: priority,
execute: execute,
completer: completer,
);
// Add the request to the queue
_queue.add(request as QueuedRequest<dynamic>);
// Start processing the queue if it's not already processing
if (!_isProcessing) {
_processQueue();
}
return completer.future;
}