sendMessage<T, R> method
Sends a WorkerMessage to the next available worker in round-robin order.
Implementation
Future<R> sendMessage<T, R>(WorkerMessage<T, R> message) {
if (_workers.isEmpty) {
throw StateError('No workers available in the pool.');
}
// Tìm worker không pause
int checked = 0;
while (checked < _workers.length) {
final worker = _workers[_next];
_next = (_next + 1) % _workers.length;
if (!worker._isPaused) {
return worker.sendMessage<T, R>(message);
}
checked++;
}
throw StateError('No available (unpaused) workers in the pool.');
}