void CNetworkConnection::OnAboutToClose()
{
	if(m_bDelayedClose && (!GetOutputBuffer()->isEmpty() || !m_pOutput->isEmpty()))
	{
		writeToNetwork(m_pOutput->size() + GetOutputBuffer()->size());
	}
	emit aboutToClose();
}
Пример #2
0
void CNetworkConnection::OnAboutToClose()
{
	qDebug() << "about to close";
	if( !GetOutputBuffer()->isEmpty() || !m_pOutput->isEmpty() )
	{
		qDebug() << "writing data";
		writeToNetwork(m_pOutput->size() + GetOutputBuffer()->size());
	}
}
void CNetworkConnection::Close(bool bDelayed)
{
	if(bDelayed)
	{
		m_bDelayedClose = true;
		if(!GetOutputBuffer()->isEmpty() || !m_pOutput->isEmpty())
		{
			writeToNetwork(m_pOutput->size() + GetOutputBuffer()->size());
			m_pSocket->flush();
		}
		m_pSocket->close();
	}
	else
	{
		m_pSocket->abort();
	}
	emit disconnected();
}