void SocketWire::Base::receiverProc()

in src/cpp/RiderLink/Source/RD/src/rd_framework_cpp/src/main/wire/SocketWire.cpp [42:69]


void SocketWire::Base::receiverProc() const
{
	while (!lifetimeDef.lifetime->is_terminated())
	{
		try
		{
			if (!socket_provider->IsSocketValid())
			{
				logger->debug("{}: stop receive messages because socket disconnected", this->id);
				//					async_send_buffer.terminate();
				break;
			}

			if (!read_and_dispatch_message())
			{
				logger->debug("{}: connection was gracefully shutdown", id);
				//					async_send_buffer.terminate();
				break;
			}
		}
		catch (std::exception const& ex)
		{
			logger->error("{} caught processing | {}", this->id, ex.what());
			//				async_send_buffer.terminate();
			break;
		}
	}
}