bool GeneticEventManager::decode_allele( ge_id_t eID, pos_t & pos, allele_t & all ) { bool bFound = false; int len = 0; switch( getFormat( eID ) ) { case efSUBSTITUTION4: ++len; case efSUBSTITUTION3: ++len; case efSUBSTITUTION2: ++len; case efSUBSTITUTION1: bFound = handleShortSubstitution( eID, ++len, pos, all ); break; case efINSERT4: ++len; case efINSERT3: ++len; case efINSERT2: ++len; case efINSERT1: bFound = handleShortInsert( eID, ++len, pos, all ); break; case efDELETION: bFound = handleDeletion( eID, pos, all ); break; case efINDEX: bFound = handleIndex( eID, pos, all ); break; default: assert(false); break; } return bFound; }
int main(int argc, char *argv[]) { printf("====================== mSquared File Transfer Program ======================\n\n"); printf("Developed by: Mrinal Dhar 201325118 | Mounika Somisetty 201330076\n"); printf("Enter 'help' to get help about commands and other cool stuff this program can do.\n\n"); printf("============================================================================\n\n"); int serv_pid = 0; int udpServ_pid = 0; int i; char cmd[1024]; char *vals[49]; WEB_PORT = strdup("8000"); if(argc == 2) { bzero(IP,sizeof(IP)); strcpy(IP,argv[1]); } else { strcpy(IP, "127.0.0.1"); } serv_pid = fork(); if (serv_pid == 0) { listenSocket = socket(AF_INET,SOCK_STREAM,0); if(listenSocket<0) { // printf("ERROR WHILE CREATING A SOCKET\n"); } else {} // printf("[SERVER] SOCKET ESTABLISHED SUCCESSFULLY\n\n"); initServer(); close(listenSocket); } serv_pid = fork(); if (serv_pid == 0) { struct mg_server *server; // Create and configure the server server = mg_create_server(NULL, ev_handler); mg_set_option(server, "listening_port", WEB_PORT); // Serve request. // printf("Web Server Starting on port %s\n", mg_get_option(server, "listening_port")); for (;;) { mg_poll_server(server, 1000); } // Cleanup, and free server instance mg_destroy_server(&server); } periodicCheck(); char filename[50]; char chat_msg[50]; char * returncode; while (1) { printf("$> "); scanf("%[^\n]s", cmd); // printf("THIS: %s\n", cmd); getchar(); if (cmd[0]=='-') { bzero(chat_msg, 50); cpy(filename+1, cmd+1); filename[0] = 'c'; // printf("THIS=%s", filename); sendMsg(filename, 0); } else { parse(cmd, vals); if(!strcmp(vals[0], "FileDownload")) { if (!strcmp(vals[1], "TCP")) { bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'd'; filename[1] = 't'; if(!initCDTCP(filename)) break; } else if (!strcmp(vals[1], "UDP")) { bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'd'; filename[1] = 'u'; // sleep(5); if (!initUDPClient(filename+2, IP)) break; sendMsg(filename, 0); bzero(filename, 50); } } else if (!strcmp(vals[0], "FileUpload")) { if (!strcmp(vals[1], "TCP")) { // printf("DOING!!\n\n"); bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'u'; filename[1] = 't'; sendMsg(filename, 0); bzero(filename, 50); } else if (!strcmp(vals[1], "UDP")) { bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'u'; filename[1] = 'u'; returncode = sendMsg(filename, 1); // printf("GOT RCODE %s\n\n", returncode); if (returncode[0]=='y') { printf("Permission granted!\n"); sleep(2); initUDPServer(filename+2, IP); } bzero(filename, 50); } } else if(!strcmp(vals[0], "exit")) { close(listenSocket); system("killall -s 9 server"); exit(0); } else if(!strcmp(vals[0], "FileHash")) { if (!strcmp(vals[1], "--verify")) { strcpy(filename, "hv"); strcat(filename, vals[2]); sendMsg(filename, 0); } else if (!strcmp(vals[1], "--checkall")) { strcpy(filename, "hc"); sendMsg(filename, 0); } bzero(filename, 50); filename[0] = 'd'; filename[1] = 't'; strcpy(filename+2, "fileHashOutput.txt"); initCDTCP(filename); } else if(!strcmp(vals[0], "gui")) { // THE FOLLOWING CODE TRIES TO AUTOMATICALLY OPEN FIREFOX WHEN GUI IS ACTIVATED. This has some bugs. // char * ffox[1]; // ffox[0] = strdup("firefox "); // strcat(ffox[0], IP); // strcat(ffox[0], ":"); // strcat(ffox[0], WEB_PORT); // serv_pid = fork(); // if (serv_pid==0) { // if (execvp(ffox[0], ffox) < 0) { // printf("*** ERROR: exec failed\n"); // exit(1); // } // } } else if (!strcmp(vals[0], "help")) { FILE *fp = fopen("readme.txt", "rb"); while (fread(buffer, sizeof(char), 1024, fp)) { printf("%s", buffer); bzero(buffer,1024); } } else if(!strcmp(vals[0], "IndexGet")) { /* I need indexget to work on both the remote machine and the local machine and give output in four files: index-they.txt index-me.txt index-they-gui.txt index-me-gui.txt */ // handleIndex(1,0); if (!strcmp(vals[1], "--shortlist")) { strcpy(filename, "is"); sendMsg(filename, 0); handleIndex(0,0,"\0", 0, 0); } else if (!strcmp(vals[1], "--longlist")) { strcpy(filename, "il"); sendMsg(filename, 0); handleIndex(1,0,"\0", 0, 0); } else if (!strcmp(vals[1], "--regex")) { strcpy(filename, "ir"); strcat(filename, vals[2]); sendMsg(filename, 0); // handleIndex(1,1,vals[2], 0, 0); } bzero(filename, 50); filename[0] = 'd'; filename[1] = 't'; strcpy(filename+2, "index.txt"); initCDTCP(filename); } continue; } } printf("\nClosing connection2\n"); return 0; }
int main(int argc, char *argv[]) { int serv_pid = 0; int udpServ_pid = 0; int i; char cmd[1024]; char *vals[49]; serv_pid = fork(); if (serv_pid == 0) { listenSocket = socket(AF_INET,SOCK_STREAM,0); if(listenSocket<0) { printf("ERROR WHILE CREATING A SOCKET\n"); } else printf("[SERVER] SOCKET ESTABLISHED SUCCESSFULLY\n\n"); initServer(); close(listenSocket); } char filename[50]; char * returncode; while (1) { printf("$> "); scanf("%[^\n]s", cmd); getchar(); parse(cmd, vals); if(!strcmp(vals[0], "FileDownload")) { if (!strcmp(vals[1], "TCP")) { bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'd'; filename[1] = 't'; if(!initCDTCP(filename)) break; } else if (!strcmp(vals[1], "UDP")) { bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'd'; filename[1] = 'u'; sendMsg(filename); if (!initUDPClient(filename+2)) break; bzero(filename, 50); } } else if (!strcmp(vals[0], "FileUpload")) { if (!strcmp(vals[1], "TCP")) { printf("DOING!!\n\n"); bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'u'; filename[1] = 't'; sendMsg(filename); bzero(filename, 50); } else if (!strcmp(vals[1], "UDP")) { bzero(filename, 50); cpy(filename+2, vals[2]); filename[0] = 'u'; filename[1] = 'u'; sendMsg(filename); initUDPServer(filename+2); bzero(filename, 50); } } else if(!strcmp(vals[0], "exit")) { close(listenSocket); exit(0); } else if(!strcmp(vals[0], "IndexGet")) { // handleIndex(1,0); if (!strcmp(vals[1], "--shortlist")) { handleIndex(0,0,"\0"); } else if (!strcmp(vals[1], "--longlist")) { handleIndex(1,0,"\0"); } else if (!strcmp(vals[1], "--regex")) { handleIndex(1,1,vals[2]); } } continue; } printf("\nClosing connection2\n"); return 0; }