Esempio n. 1
0
void NetworkBase::tickSend(NetworkEvent* event)
{
	// send
	if (sendQueue_.empty() == false)
	{
		QueueElement* queueElement = sendQueue_.front();

		int sent = queueElement->send(clientSock_);
		
		if (sent == -1)
		{
			cleanup();
			event->eventCode = eOtherSideClosedConnection;
			return;
		}

		dataSent_ += sent;
		
		if (queueElement->finished() == true)
		{
			delete queueElement;
			sendQueue_.pop_front();
		}
	}
}