Пример #1
0
                void operator()() {
                    osmium::thread::set_thread_name("_osmium_write");

                    try {
                        while (true) {
                            std::string data = m_queue.pop();
                            if (at_end_of_data(data)) {
                                break;
                            }
                            m_compressor->write(data);
                        }
                        m_compressor->close();
                        m_promise.set_value(true);
                    } catch (...) {
                        m_promise.set_exception(std::current_exception());
                        m_queue.drain();
                    }
                }
Пример #2
0
 bool input_done() const {
     return m_input_queue.has_reached_end_of_data();
 }
Пример #3
0
 std::string get_input() {
     return m_input_queue.pop();
 }