/// Stop the processing threads and quit. virtual void quit() { if (_pmodel == pm_pipeline) { _callback_thread.request_stop(); _callback_thread.join(); } if (_pmodel != pm_coro) AsyncSocket<f8String>::quit(); }
/// Send a message to the processing method instructing it to quit. virtual void stop() { if (_pmodel == pm_pipeline) { const f8String from; _msg_queue.try_push(from); _callback_thread.request_stop(); } if (_pmodel != pm_coro) AsyncSocket<f8String>::request_stop(); }
/// Start the processing thread. virtual void request_stop() { _thread.request_stop(); }
/// Stop the processing thread and quit. virtual void quit() { _thread.request_stop(); join(); }
/// Dtor. virtual ~ReliableClientSession () { _thread.request_stop(); _thread.join(); }