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

Class AsyncLogQueue

include/thundersvm/util/log.h:2560–2591  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2558 base::type::string_t m_logLine;
2559};
2560class AsyncLogQueue : public base::threading::ThreadSafe {
2561 public:
2562 virtual ~AsyncLogQueue() {
2563 ELPP_INTERNAL_INFO(6, "~AsyncLogQueue");
2564 }
2565
2566 inline AsyncLogItem next(void) {
2567 base::threading::ScopedLock scopedLock(lock());
2568 AsyncLogItem result = m_queue.front();
2569 m_queue.pop();
2570 return result;
2571 }
2572
2573 inline void push(const AsyncLogItem& item) {
2574 base::threading::ScopedLock scopedLock(lock());
2575 m_queue.push(item);
2576 }
2577 inline void pop(void) {
2578 base::threading::ScopedLock scopedLock(lock());
2579 m_queue.pop();
2580 }
2581 inline AsyncLogItem front(void) {
2582 base::threading::ScopedLock scopedLock(lock());
2583 return m_queue.front();
2584 }
2585 inline bool empty(void) {
2586 base::threading::ScopedLock scopedLock(lock());
2587 return m_queue.empty();
2588 }
2589 private:
2590 std::queue<AsyncLogItem> m_queue;
2591};
2592class IWorker {
2593 public:
2594 virtual ~IWorker() {}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected