/// 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(); }
/*! Wait till processing thead has finished. \return 0 on success */ int join() { f8_scoped_lock guard(_mutex); if (_started) { _started = false; return _thread.join(); } return 0; }
/// Dtor. virtual ~ReliableClientSession () { _thread.request_stop(); _thread.join(); }