Poll all registered drivers and return aggregate state.
- Returns
- Aggregate state (READY if all ready, BUSY if any busy, ERROR if any error)
- Note
- This is NOT an IChannelDriver override - it's a diagnostic/test helper
-
Polls all drivers and returns the "worst" state (ERROR > BUSY > READY)
Definition at line 529 of file manager.cpp.hpp.
529 {
530
531
532 bool anyBusy = false;
533 bool anyDraining = false;
534 fl::string firstError;
535
537 IChannelDriver::DriverState
result = entry.driver->poll();
539 anyBusy = true;
541 anyDraining = true;
542 }
543
545 firstError =
result.error;
546 }
547 }
548
549
550 if (!firstError.
empty()) {
552 }
553
554 if (anyBusy) {
556 }
557 if (anyDraining) {
559 }
561}
fl::vector< EngineEntry > mDrivers
Shared drivers sorted by priority descending (higher values first)
bool empty() const FL_NO_EXCEPT
expected< T, E > result
Alias for expected (Rust-style naming)
@ READY
Hardware idle; ready to accept new transmissions.
@ DRAINING
All channels submitted; still transmitting.
@ ERROR
Driver encountered an error.
@ BUSY
Active: channels transmitting or queued.
References fl::IChannelDriver::DriverState::BUSY, fl::IChannelDriver::DriverState::DRAINING, fl::basic_string::empty(), fl::IChannelDriver::DriverState::ERROR, fl::FL_NO_EXCEPT, mDrivers, and fl::IChannelDriver::DriverState::READY.
Referenced by waitForReady(), and waitForReadyOrDraining().