void mostrarEstadoDelFSEnBytesSoloLog() { off_t espacioTotal = 0; off_t espacioUsado = 0; espacioDeFSEnBytes(&espacioTotal,&espacioUsado); off_t espacioDisponible = espacioTotal - espacioUsado; loguear(LOG_LEVEL_INFO,"Espacio Total del FileSystem: %lu megas\n",espacioTotal); loguear(LOG_LEVEL_INFO,"Espacio Usado del FileSystem: %lu megas\n", espacioUsado); loguear(LOG_LEVEL_INFO,"Espacio Disponible del FileSystem: %lu megas\n",espacioDisponible); }
void *atenderANodo(void *argConexion) { SocketConecta *conexion = argConexion; while(estaConectado(conexion)) { char nombrePaquete; t_nodo *nodo; recibirMensaje(conexion, &nombrePaquete,1); if(estaConectado(conexion)) { if (nombrePaquete == CANTIDAD_BLOQUES) nodo = crearNodo(conexion); else if (nombrePaquete == BLOQUEAR_ATENDER_NODO){ reservarConexionNodo(nodo); devolverConexionNodo(nodo); } }else { deshabilitarNodoPorDesconexion(nodo); loguear(LOG_LEVEL_INFO,"Se desconecto el nodo %s\n",nodo->nombre); cerrarSocketConecta(conexion); } } return 0; }
Musica::Musica() { if( this->musica == NULL ) this->musica = Mix_LoadMUS( "TPTaller/sonido/Worms.wav" ); if( this->musica == NULL ){ loguear(); logFile << "Failed to load beat music! SDL_mixer Error: " << Mix_GetError() << endl; printf( "Failed to load beat music! SDL_mixer Error: %s\n", Mix_GetError() ); } }
static off_t recibirYVerificarConexion(SocketConecta *conexion, void *buffer, off_t longitudBuffer) { if (!estaConectado(conexion)) { loguear(LOG_LEVEL_DEBUG, "Se perdio la conexion con el nodo"); terminarEjecucionDeTarea(); } ssize_t bytesRecibidos = recibirMensaje(conexion, buffer, longitudBuffer); if (!estaConectado(conexion)) { loguear(LOG_LEVEL_DEBUG, "Se perdio la conexion con el nodo"); terminarEjecucionDeTarea(); } return bytesRecibidos; }
int grabarBloques(t_nodo *nodo, char *bloque,t_bloque *bloqueCopia) { reservarConexionNodo(nodo); loguear(LOG_LEVEL_INFO,"Solicito al nodo %s grabar el bloque %d del archivo en su bloque %d",nodo->nombre,bloqueCopia->numeroDeBloqueDelArchivo,bloqueCopia->numeroDeBloqueEnNodo); if (!enviarTamanioBloque(nodo->conexionNodoServidor,bloque)) { devolverConexionNodo(nodo); return 0; } if (!enviarBloque(nodo,bloque,bloqueCopia,nodo->conexionNodoServidor)) { devolverConexionNodo(nodo); return 0; } loguear(LOG_LEVEL_INFO,"Se grabo en el nodo %s el bloque %d del archivo en su bloque %d",nodo->nombre,bloqueCopia->numeroDeBloqueDelArchivo,bloqueCopia->numeroDeBloqueEnNodo); devolverConexionNodo(nodo); return 1; }
static void *avisarNodoInexisteYTerminarConexion(SocketConecta *conexion, char *puertoNodo, char *nombreNodo, char *ipNodo) { free(puertoNodo); free(nombreNodo); free(ipNodo); enviarMensaje(conexion,NODO_INEXISTENTE,sizeof(char)); loguear(LOG_LEVEL_INFO,"Un nodo intento conectarse como existente, pero no existe y se lo desconecto"); deleteSocketConecta(conexion); return NULL; }
static t_nodo *obtenerNodoReConectado(int posEnListaConectado,SocketConecta *nuevaConexion, char *ipNodo, char *puertoNodo) { t_nodo *nodo; reservarListaNodosConectados(); nodo = list_get(listaNodosConectados,posEnListaConectado); nodo->conexionNodoServidor = nuevaConexion; nodo->ip = strdup(ipNodo); nodo->puerto = strdup(puertoNodo); pthread_mutex_init(&(nodo->mutex_conexionNodo),NULL); devolverListaNodosConectados(); loguear(LOG_LEVEL_INFO, "Se reconecto el nodo %s",nodo->nombre); deshabilitarNodo(nodo); return nodo; }
void terminoDePedir(SocketConecta *conexion, ArchivoLocal *archivoALeer) { loguear(LOG_LEVEL_INFO, "Se termino la transferencia del archivo"); if(! estaConectado(conexion)) { cerrarArchivo((Archivo*) archivoALeer); finalizarAtencionAConexion(conexion); } char termino = SI_TERMINO; enviarMensaje(conexion,&termino,1); cerrarConexionYArchivo(conexion,archivoALeer); }
ArchivoLocal *tengoArchivo(SocketConecta *conexion) { char *pathCompleto = obtenerPathCompleto(conexion); loguear(LOG_LEVEL_INFO, "Se recibio un pedido de archivo de parte de un nodo. Archivo: %s", pathCompleto); ArchivoLocal *archivoALeer = newArchivoLocal(pathCompleto, LECTURA); if (! estaConectado(conexion)) { if (archivoALeer != NULL) cerrarArchivo((Archivo *)archivoALeer); finalizarAtencionAConexion(conexion); } if (archivoALeer == NULL) enviarMensaje(conexion,NO_TENGO_ARCHIVO,1); else enviarMensaje(conexion,SI_TENGO_ARCHIVO,1); return archivoALeer; }
void Musica::playSonido(int id){ switch(id){ case SELECT: { if( !this->s_select ) this->s_select = Mix_LoadWAV("TPTaller/sonido/MINETICK.WAV"); if(this->s_select == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_select, 0); break; } case UP: { if( !this->s_jump ) this->s_jump = Mix_LoadWAV("TPTaller/sonido/JUMP1.WAV"); if(this->s_jump == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } //Mix_VolumeChunk(this->s_jump, 100); Mix_PlayChannelTimed(-1, this->s_jump, 0, 1000); //Mix_PlayChannel(-1, this->s_jump, 0); break; } case TIME: { if( !this->s_time ) this->s_time = Mix_LoadWAV("TPTaller/sonido/clock-ticking-2.wav"); if(this->s_time == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_VolumeChunk(this->s_time, 128); Mix_PlayChannelTimed(-1, this->s_time, -1, 10000); //Mix_PlayChannel(-1, this->s_time, 0); break; } case START: { if( !this->s_start ) this->s_start = Mix_LoadWAV("TPTaller/sonido/StartRound.wav"); if(this->s_start == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_start, 0); break; } //Caso Lanzar TIpo disparo case DISPARO: { if( !this->s_disparo ) this->s_disparo = Mix_LoadWAV("TPTaller/sonido/gunFire.wav"); if(this->s_disparo == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } //printf("disparo\n"); Mix_VolumeChunk(this->s_disparo, 100); //Mix_PlayChannelTimed(-1, this->s_disparo, 0, 500); Mix_PlayChannel(-1, this->s_disparo, 0); break; } case LANZAR_DINAMITA: { if( !this->s_dinamita ) this->s_dinamita = Mix_LoadWAV("TPTaller/sonido/export (1).wav");//dinamita.wav if(this->s_dinamita == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } //printf("Sonido Lanzar dinamita\n"); Mix_VolumeChunk(this->s_dinamita, 80); Mix_PlayChannel(1, this->s_dinamita, 0); //Mix_PlayChannelTimed(-1, this->s_dinamita, -1, 4500); break; } case MECHA_DINAMITA: { if( !this->s_mecha ) this->s_mecha = Mix_LoadWAV("TPTaller/sonido/mechadinamita.WAV"); if(this->s_mecha == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } //printf("sonido mecha dinamita\n"); Mix_PlayChannelTimed(-1, this->s_mecha, -1, 4500); break; } //Lanzar no disparo case LANZAR:{ if( !this->s_lanzar ) this->s_lanzar = Mix_LoadWAV("TPTaller/sonido/lanzar4.wav"); if(this->s_lanzar == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_lanzar, 0); break; } //EXPLOSIONES case EXPLOSION_BAZOOKA: { if( !this->s_eBazooka ) this->s_eBazooka = Mix_LoadWAV("TPTaller/sonido/Explosion2.wav"); if(this->s_eBazooka == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_eBazooka, 0); break; } case EXPLOSION_GRANADA:{ if( !this->s_eGranada ) this->s_eGranada = Mix_LoadWAV("TPTaller/sonido/Explosion2.wav"); if(this->s_eGranada == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_eGranada, 0); break; } case EXPLOSION_DINAMITA:{ if( !this->s_eDinamita ) this->s_eDinamita = Mix_LoadWAV("TPTaller/sonido/Explosion3.WAV"); if(this->s_eDinamita == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_eDinamita, 0); break; } case EXPLOSION_HOLY:{ if( !this->s_eHoly ) this->s_eHoly = Mix_LoadWAV("TPTaller/sonido/holy.WAV"); if(this->s_eHoly == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_eHoly, 0); break; } case KAMIKAZE:{ if( !this->s_kamikaze ) this->s_kamikaze = Mix_LoadWAV("TPTaller/sonido/KAMIKAZERELEASE.WAV"); if(this->s_kamikaze == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_kamikaze, 0); break; } case PATADA:{ if( !this->s_patada ) this->s_patada = Mix_LoadWAV("TPTaller/sonido/patada3.wav"); if(this->s_patada == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_patada, 0); break; } case FUEGO:{ if( !this->s_fuego ) this->s_fuego = Mix_LoadWAV("TPTaller/sonido/fuego.WAV"); if(this->s_fuego == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_fuego, 0); break; } case BYE:{ if( !this->s_bye ) this->s_bye = Mix_LoadWAV("TPTaller/sonido/BYEBYE.WAV"); if(this->s_bye == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_PlayChannel(-1, this->s_bye, 0); break; } case WALK:{ if( !this->s_walk ) this->s_walk = Mix_LoadWAV("TPTaller/sonido/walk-expand.wav"); if(this->s_walk == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } //Mix_PlayChannelTimed(1, this->s_walk, 0, 500); Mix_PlayChannel(-1, this->s_walk, 0); break; } case TICK: { if( !this->s_tick ) this->s_tick = Mix_LoadWAV("TPTaller/sonido/tick.WAV"); if(this->s_tick == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } Mix_VolumeChunk(this->s_tick, 128); Mix_PlayChannelTimed(-1, this->s_tick, 0, 1000); //Mix_PlayChannel(0, this->s_tick, 0); break; } case VIDA:{ if( !this->s_vida ) this->s_vida = Mix_LoadWAV("TPTaller/sonido/OUCH.WAV"); if(this->s_vida == NULL){ loguear(); logFile << "No se pudo cargar sonido: %s" << Mix_GetError() << endl; return; } //printf("Pierde vida\n"); Mix_PlayChannel(-1, this->s_vida, 0); break; } } }