void CG2Node::OnPacket(G2Packet* pPacket) { //qDebug() << "Got packet " << pPacket->GetType() << pPacket->ToHex() << pPacket->ToASCII(); //try //{ if( !Network.RoutePacket(pPacket) ) { if( pPacket->IsType("PI") ) { OnPing(pPacket); } else if( pPacket->IsType("PO") ) { OnPong(pPacket); } else if( pPacket->IsType("LNI") ) { OnLNI(pPacket); } else if( pPacket->IsType("KHL") ) { OnKHL(pPacket); } else if( pPacket->IsType("QHT") ) { //OnQHT(pPacket); } else if( pPacket->IsType("Q2") ) { OnQuery(pPacket); } else if( pPacket->IsType("QKR") ) { OnQKR(pPacket); } else if( pPacket->IsType("QKA") ) { OnQKA(pPacket); } else if( pPacket->IsType("QA") ) { OnQA(pPacket); } else if( pPacket->IsType("QH2") ) { OnQH2(pPacket); } else { qDebug() << "Unknown packet " << pPacket->GetType(); } } /*} catch(...) { qDebug() << "Packet error in child packets"; }*/ }
PluginReceiveResult LightweightDatabaseServer::OnReceive(Packet *packet) { switch (packet->data[0]) { case ID_DATABASE_QUERY_REQUEST: OnQueryRequest(packet); return RR_STOP_PROCESSING_AND_DEALLOCATE; case ID_DATABASE_UPDATE_ROW: OnUpdateRow(packet); return RR_STOP_PROCESSING_AND_DEALLOCATE; case ID_DATABASE_REMOVE_ROW: OnRemoveRow(packet); return RR_STOP_PROCESSING_AND_DEALLOCATE; case ID_PONG: OnPong(packet); return RR_CONTINUE_PROCESSING; } return RR_CONTINUE_PROCESSING; }
PluginReceiveResult LightweightDatabaseServer::OnReceive(RakPeerInterface *peer, Packet *packet) { switch (packet->data[0]) { case ID_DATABASE_QUERY_REQUEST: OnQueryRequest(peer, packet); return RR_STOP_PROCESSING_AND_DEALLOCATE; case ID_DATABASE_UPDATE_ROW: OnUpdateRow(peer, packet); return RR_STOP_PROCESSING_AND_DEALLOCATE; case ID_DATABASE_REMOVE_ROW: OnRemoveRow(peer, packet); return RR_STOP_PROCESSING_AND_DEALLOCATE; case ID_DISCONNECTION_NOTIFICATION: case ID_CONNECTION_LOST: RemoveRowsFromIP(packet->playerId); return RR_CONTINUE_PROCESSING; case ID_PONG: OnPong(peer, packet); return RR_CONTINUE_PROCESSING; } return RR_CONTINUE_PROCESSING; }