예제 #1
0
파일: connection.hpp 프로젝트: ablochs/fix8
	/// 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();
	}
예제 #2
0
파일: connection.hpp 프로젝트: ablochs/fix8
	/// 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();
	}
예제 #3
0
파일: connection.hpp 프로젝트: ablochs/fix8
	/// Start the processing thread.
	virtual void request_stop() { _thread.request_stop(); }
예제 #4
0
파일: connection.hpp 프로젝트: ablochs/fix8
	/// Stop the processing thread and quit.
	virtual void quit() { _thread.request_stop(); join(); }
예제 #5
0
	/// Dtor.
	virtual ~ReliableClientSession ()
	{
		_thread.request_stop();
		_thread.join();
	}