virtual void SetUp() {
		dataType data;
		data.push_back(CData(0x82, 34));
		data.push_back(CData(0x64, 21));
		data.push_back(CData(0x00, 21));
		data.push_back(CData(0x00, 21));
		data.push_back(CData(0x00, 21));
		packet = new CPTMAtomPacket(0x9e, data);
	}
Exemplo n.º 2
0
bool CDataSocket::flush()
{
	if (!m_socket)
	{
		CLog::instance()->log(CLog::msgFlagNetwork, CLog::msgLvlError, _("Attempt to write to not initialized data socket.\n"));
		return true;
	}
	
	if( time(NULL) - m_lastPong > LOST_CONNECTION_TIME )
	{
		m_lastPong = time(NULL);
		CLog::instance()->log(CLog::msgFlagNetwork,CLog::msgLvlInfo,_("(%s:%d) : Ping timeout.\n"),m_remoteHost.c_str(),m_remotePort);
		m_outputBuffer.clear();
		return false;
	}

	// if it's time to send ping insert dummy packet into output buffer
	if( !m_outputBuffer.size() && (time(NULL) - m_lastPing > PING_TIME) )
		m_outputBuffer.push_back(CData());

	m_lastPing = time(NULL);
	std::vector<CData>::iterator i;
	for(i = m_outputBuffer.begin(); i != m_outputBuffer.end(); i++ )
	{
		if( (*i).length() > SOCK_BUFFER_SIZE )
		{
			CLog::instance()->log(CLog::msgLvlError,_("Data too long (%d).\n"),(*i).length());
			continue;
		};
		netPacketSize dataLength = (netPacketSize)(*i).length();
		if ( SDLNet_TCP_Send(m_socket, &dataLength, sizeof(netPacketSize)) <= 0 )
		{
			CLog::instance()->log(CLog::msgFlagNetwork,CLog::msgLvlInfo,_("(%s:%d) : Error occured while writing socket.\n"), m_remoteHost.c_str(), m_remotePort);
			m_sockErrorOccured = true;
			m_outputBuffer.clear();
			return false;
		}

		if( dataLength )
			if( SDLNet_TCP_Send(m_socket, (char*)(*i).data(), dataLength ) <= 0 )
			{
				CLog::instance()->log(CLog::msgFlagNetwork,CLog::msgLvlInfo,_("(%s:%d) : Error occured while writing socket.\n"), m_remoteHost.c_str(), m_remotePort);
				m_sockErrorOccured = true;
				m_outputBuffer.clear();
				return false;
			}
	}
	m_outputBuffer.clear();
	return true;
}
Exemplo n.º 3
0
CPacket_task_delete::CPacket_task_delete(int taskid):
  CPacket( COMMAND_GROUP_TASK, COMMAND_TASK_DELETE, CData( &taskid, sizeof(taskid) ) )
{
}
Exemplo n.º 4
0
CPacket_task_query::CPacket_task_query(int taskid):
  CPacket( COMMAND_GROUP_TASK, COMMAND_TASK_QUERY, CData( &taskid, sizeof(taskid)) )
{	
}