MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / processDispatch

Method processDispatch

src/thundersvm/util/log.cpp:2470–2509  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2468 }
2469
2470 void Writer::processDispatch() {
2471#if ELPP_LOGGING_ENABLED
2472 if (ELPP->hasFlag(LoggingFlag::MultiLoggerSupport)) {
2473 bool firstDispatched = false;
2474 base::type::string_t logMessage;
2475 std::size_t i = 0;
2476 do {
2477 if (m_proceed) {
2478 if (firstDispatched) {
2479 m_logger->stream() << logMessage;
2480 } else {
2481 firstDispatched = true;
2482 if (m_loggerIds.size() > 1) {
2483 logMessage = m_logger->stream().str();
2484 }
2485 }
2486 triggerDispatch();
2487 } else if (m_logger != nullptr) {
2488 m_logger->stream().str(ELPP_LITERAL(""));
2489 m_logger->releaseLock();
2490 }
2491 if (i + 1 < m_loggerIds.size()) {
2492 initializeLogger(m_loggerIds.at(i + 1));
2493 }
2494 } while (++i < m_loggerIds.size());
2495 } else {
2496 if (m_proceed) {
2497 triggerDispatch();
2498 } else if (m_logger != nullptr) {
2499 m_logger->stream().str(ELPP_LITERAL(""));
2500 m_logger->releaseLock();
2501 }
2502 }
2503#else
2504 if (m_logger != nullptr) {
2505 m_logger->stream().str(ELPP_LITERAL(""));
2506 m_logger->releaseLock();
2507 }
2508#endif // ELPP_LOGGING_ENABLED
2509 }
2510
2511 void Writer::triggerDispatch(void) {
2512 if (m_proceed) {

Callers

nothing calls this directly

Calls 3

releaseLockMethod · 0.80
hasFlagMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected