Пример #1
0
int main(int argc, char *argv[]) {
	limpiarPantalla();
	logger = log_create("logWorker", "Worker.c", 1, LOG_LEVEL_TRACE);
	cargarConfiguracionNodo(&config,argv[1]);
	levantarServidorWorker(config.IP_NODO, config.PUERTO_WORKER);


	//aparear("/home/utnso/tp-2017-2c-PEQL/Worker/Debug/tmp/j1n4b13e0","/home/utnso/tp-2017-2c-PEQL/Worker/Debug/tmp/j1n4b17e0","/home/utnso/pruebafeliz.txt");

	/*t_list* listaArchivosTemporales = list_create();
	list_add(listaArchivosTemporales, "/home/utnso/tp-2017-2c-PEQL/Worker/a.txt");
	list_add(listaArchivosTemporales, "/home/utnso/tp-2017-2c-PEQL/Worker/b.txt");
	list_add(listaArchivosTemporales, "/home/utnso/tp-2017-2c-PEQL/Worker/c.txt");
	apareoArchivosLocales(listaArchivosTemporales,"/home/utnso/tp-2017-2c-PEQL/Worker/resultado.txt");
	//Para probar reduccion
	t_list* listaArchivosTemporales = list_create();
	list_add(listaArchivosTemporales, "/home/utnso/tp-2017-2c-PEQL/Worker/Debug/tmp/j1n1b0e0");
	list_add(listaArchivosTemporales, "/home/utnso/tp-2017-2c-PEQL/Worker/Debug/tmp/j1n1b3e0");
	list_add(listaArchivosTemporales, "/home/utnso/tp-2017-2c-PEQL/Worker/Debug/tmp/j1n1b6e0");
	list_add(listaArchivosTemporales, "/home/utnso/tp-2017-2c-PEQL/Worker/Debug/tmp/j1n1b9e0");
	char *archivoPreReduccion = "preReduccion";
	char* destino = "destinoFinal";
	char *path = string_new();
	char cwd[1024];
	string_append(&path, getcwd(cwd, sizeof(cwd)));

	char* aux = string_from_format("%s/tmp/%s", path, archivoPreReduccion); // /home/utnso/tp-2017-2c-PEQL/Worker/Debug/tmp/preReduccion
	apareoArchivosLocales(listaArchivosTemporales, aux);
	char* command = string_from_format("cat %s | perl %s > %s", aux, string_from_format("../scripts/reductorLocal.pl"), string_from_format("%s/tmp/%s", path, destino));
	ejecutarComando(command, clientSocket);
	log_trace(logger, "Reduccion local realizada correctamente");*/


	return EXIT_SUCCESS;
}
Пример #2
0
int printConsola(void) {
	limpiarPantalla();
	pTitulo("Consola de FileSystem");
	pWhiteLine();
	pOptionLine('1', "Formatear el MDFS.");
	pOptionLine('2', "Eliminar/Renombrar/Mover un archivo.");
	pOptionLine('3', "Crear/Eliminar/Renombrar/Mover un directorio.");
	pOptionLine('4', "Copiar un archivo LOCAL al MDFS.");
	pOptionLine('5', "Copiar un archivo del MDFS al FILESYSTEM LOCAL.");
	pOptionLine('6', "MD5 de un archivo.");
	pOptionLine('7', "Ver/Borrar/Copiar los bloques de un archivo.");
	pOptionLine('8', "Agregar un nodo de datos.");
	pOptionLine('9', "Eliminar un nodo de datos.");
	pOptionLine('q', "Cerrar programa.");
	pWhiteLine();
	pWhiteLine();
	pLineaDivisora();
	pText("Ingresar opción deseada: \033[s", 3);
	pFinConsola();
	printf("\033[u");
	return EXIT_SUCCESS;
}
Пример #3
0
int main(int argc, char **argv) {
	char *program_name = "FileSystem";
	int iret;
	char opcion;
	t_config *config;
	pthread_t thread_escuchas;
	
	pthread_mutex_lock( &log_file );
	logger = iniciarLog(argv, program_name, false, LOG_LEVEL_INFO);
	pthread_mutex_unlock( &log_file );

	listaNodos_limbo = list_create();
	listaNodos_ok = list_create();

	config = readConfigurationFile(argv);
	cantNodosMinimos = config_get_int_value(config, "CANT_NODOS");

	iret = pthread_create(&thread_escuchas, NULL, (void *) &f_thread_escuchas, (void*) config);
	if( iret ){
		fprintf(stderr,"Error - pthread_create() return code: %d\n",iret);
		exit(EXIT_FAILURE);
	}

	textoColor(VERDE); // cambia el color a verde
	limpiarPantalla();
	system("clear");

	for(;;){
		printConsola(); // imprime la consola
		opcion = getchar(); // obtiene la opcion deseada

		limpiarPantalla();
		if( opcion!='\n' ){
			switch( opcion ){
				default:
					printf("Opción incorrecta...\n");
					sleep(1);
					break;
				case '1':
					formatMDFS();
					break;
				case '2':
					//ABMArchive();
					break;
				case '3':
					//ABMDirectory();
					break;
				case '4':
					//copyFSLocalArchiveToMDFS();
					break;
				case '5':
					//copyMDFSArchiveToFSLocal();
					break;
				case '6':
					//archiveMD5();
					break;
				case '7':
					//ABMArchiveBlocks();
					break;
				case '8':
					//addNode();
					break;
				case '9':
					//deleteNode();
					break;
				case 'q':
					goto FIN;
					break;
			}
		}
	}

	FIN:
		textoColor(NORMAL);
		limpiarPantalla();

		pthread_cancel( thread_escuchas );
		log_destroy(logger);
		return EXIT_SUCCESS;
}