int contig_comparator_reg(Tcl_Interp *interp, GapIO *io, obj_cs *cs, char *csp_win, char *csv_win) { int id; id = register_id(); strcpy(cs->hori, cs->window); strcpy(cs->vert, csv_win); strcpy(cs->window, csp_win); /* create list of windows in the contig selector display */ deleteWindow(cs->win_list, &cs->num_wins, cs->win_list[0]->window); addWindow(cs->win_list, &cs->num_wins, cs->window, 'b', id); addWindow(cs->win_list, &cs->num_wins, cs->hori, 'x', id); addWindow(cs->win_list, &cs->num_wins, cs->vert, 'y', id); /* do the first plot */ update_contig_comparator(interp, io, cs); /* for (i = 1; i <= NumContigs(io); i++) { contig_register(io, i, cs_callback, (void *)cs, id, REG_REQUIRED | REG_DATA_CHANGE | REG_OPS | REG_NUMBER_CHANGE | REG_ANNO | REG_GENERIC | REG_BUFFER | REG_FLAG_INVIS, REG_TYPE_CONTIGSEL); } */ return id; }
void handle_708_DLW_DeleteWindows (cc708_service_decoder *decoder, int windows_bitmap) { printf (" Entry in handle_708_DLW_DeleteWindows, windows: "); if (windows_bitmap==0) printf ("None\n"); else { for (int i=0; i<8; i++) { if (windows_bitmap & 1) { printf ("[Window %d] ",i ); deleteWindow (decoder, i); } windows_bitmap>>=1; } } printf ("\n"); }
void handle_708_DLW_DeleteWindows (cc708_service_decoder *decoder, int windows_bitmap) { int changes=0; if (windows_bitmap==0) ; //ccx_common_logging.debug_ftn(CCX_DMT_708, "None\n"); else { for (int i=0; i<8; i++) { if (windows_bitmap & 1) { if (decoder->windows[i].is_defined && decoder->windows[i].visible && !decoder->windows[i].is_empty) changes=1; deleteWindow (decoder, i); } windows_bitmap>>=1; } } if (changes) updateScreen (decoder); }
// handle send and receive of data void handleReadWrite(int newSockFd,struct sockaddr_in server_addr,char *destFileName){ socklen_t srvlen = sizeof(server_addr); char *header = (char*)calloc(1,sizeof(TCPHeaderSend)); while(1){ bzero(header,sizeof(TCPHeaderSend)); recvfrom(newSockFd,header,sizeof(TCPHeaderSend),0,(struct sockaddr*)&server_addr,&srvlen); TCPHeaderSend *tempNode = (TCPHeaderSend*)header; // section to simulate duplicate ack #ifdef DUPACK //srand(time(NULL)); int randNum1 = rand(); if(randNum1%107==0){ printf("drop seqNum = %lu\n",tempNode->header.seqNum); continue; } #endif /*DUPACK*/ //section to simlate high latency #ifdef TIMEOUT //srand(time(NULL)); int randNum2 = rand(); if(randNum2%105==0){ sleep(2); } #endif /*TIMEOUT*/ #ifdef DEBUG printf("%lu\n",tempNode->header.seqNum); #endif /*DEBUG*/ if(dropPacket(startNode,tempNode->header)){goto CALC_ACK;} startNode = appendslidingWindow(startNode,&(tempNode->header),tempNode->data); if(toAckNode==NULL) { //pthread_t ackThread; //ServerThreadDetails details; //details.sockFD = newSockFd; //details.sock_addr = server_addr; toAckNode = startNode; nxtSqnNum = (toAckNode->header->seqNum+strlen(toAckNode->header->data))%ULONG_MAX; if(nxtSqnNum<toAckNode->header->seqNum){ order++; } sendAck(toAckNode,newSockFd,server_addr); //pthread_create(&ackThread,NULL,&retransmitAck,&details); } //printf("%s",tempNode->data); if(tempNode->header.finFlag == 1){ TCPHeader *ackNode = createTCPFinAckNode(); ackNode->ackNum = tempNode->header.seqNum; // ackNode->order = tempNode->header.order; sendto(newSockFd,ackNode,sizeof(TCPHeader),0,(struct sockaddr*)&server_addr,srvlen); #ifdef DEBUG printf("ack Num = %lu\n",tempNode->header.seqNum); #endif/*DEBUG*/ break; } CALC_ACK: calculateAck(newSockFd,server_addr); } TCPHeader *recvSlidingNode = extractSlidingWindow4TCPPackets(startNode); char *fileContents = extractTCPPack4FileContents(recvSlidingNode); //printf("%s",fileContents); writeFile(fileContents,destFileName); deleteWindow(startNode); }
void cs_callback(GapIO *io, int contig, void *fdata, reg_data *jdata) { char cmd[1024]; obj_cs *cs = (obj_cs *)fdata; switch(jdata->job) { case REG_BUFFER_START: { #ifdef DEBUG printf("REG_BUFFER_START count %d \n", cs->buffer_count); #endif cs->buffer_count++; cs->do_update = REG_BUFFER_START; return; } case REG_BUFFER_END: { #ifdef DEBUG printf("REG_BUFFER_END count %d \n", cs->buffer_count); #endif cs->buffer_count--; if (cs->buffer_count <= 0) { cs->buffer_count = 0; if (cs->do_update & REG_LENGTH) { } else if (cs->do_update & REG_ANNO) { Tcl_VarEval(GetInterp(), cs->hori, " delete tag", NULL); display_cs_tags(GetInterp(), io, cs); scaleSingleCanvas(GetInterp(), cs->world, cs->canvas, cs->hori, 'x', "tag"); } else if (cs->do_update & REG_ORDER) { update_contig_selector(GetInterp(), io, cs); if (cs->vert[0] != '\0') { update_contig_comparator(GetInterp(), io, cs); } } cs->do_update = 0; } return; } case REG_QUERY_NAME: { sprintf(jdata->name.line, "Contig selector"); return; } case REG_GET_OPS: { /* jdata->get_ops.ops = "Information\0Configure\0"; */ return; } case REG_ANNO: { #ifdef DEBUG printf("contig selector REG_ANNO\n"); #endif if (!cs->do_update) { Tcl_VarEval(GetInterp(), cs->hori, " delete tag", NULL); display_cs_tags(GetInterp(), io, cs); scaleSingleCanvas(GetInterp(), cs->world, cs->canvas, cs->hori, 'x', "tag"); } else { cs->do_update |= REG_ANNO; } return; } case REG_ORDER: { #ifdef DEBUG printf("contig selector REG_ORDER %d\n", cs->buffer_count); #endif if (!cs->do_update) { update_contig_selector(GetInterp(), io, cs); if (cs->vert[0] != '\0') { update_contig_comparator(GetInterp(), io, cs); } } else { cs->do_update |= REG_ORDER; } break; } case REG_QUIT: { cs_shutdown(io, cs); return; } case REG_GENERIC: switch(jdata->generic.task) { case TASK_WINDOW_ADD: { win *winfo = (win *)jdata->generic.data; addWindow(cs->win_list, &cs->num_wins, winfo->window, winfo->scroll, winfo->id); break; } case TASK_WINDOW_DELETE: { char *window = (char *)jdata->generic.data; deleteWindow(cs->win_list, &cs->num_wins, window); break; } case TASK_CANVAS_SCROLLX: { char *scroll = (char *)jdata->generic.data; canvasScrollX(GetInterp(), cs->window, cs->win_list, cs->num_wins, cs->world->visible, cs->canvas, scroll); break; } case TASK_CANVAS_SCROLLY: { char *scroll = (char *)jdata->generic.data; canvasScrollY(GetInterp(), cs->window, cs->win_list, cs->num_wins, cs->world->visible, cs->canvas, scroll); break; } case TASK_CANVAS_RESIZE: { char scroll_args[20]; /* resize template display window */ resizeCanvas(GetInterp(), cs->window, cs->win_list, cs->num_wins, cs->world->visible, cs->world->total, cs->canvas); sprintf(scroll_args, "scroll 0 units"); canvasScrollX(GetInterp(), cs->window, cs->win_list, cs->num_wins, cs->world->visible, cs->canvas, scroll_args); break; } case TASK_CANVAS_ZOOMBACK: { if (lengthZoom(cs->zoom) <= 2) { freeZoom(&cs->zoom); pushZoom(&cs->zoom, cs->world->total); } canvasZoomback(GetInterp(), cs->canvas, cs->window, cs->world, cs->win_list, cs->num_wins, &cs->zoom); break; } case TASK_CANVAS_ZOOM: { s_zoom *szoom = (s_zoom *)jdata->generic.data; canvasZoom(GetInterp(), cs->canvas, cs->window, cs->world, cs->win_list, cs->num_wins, &cs->zoom, szoom->zoom, szoom->scroll); break; } case TASK_CANVAS_CURSOR_X: { char *label; int *cx = (int *)jdata->generic.data; double local_pos; double wx, wy; CanvasToWorld(cs->canvas, *cx, 0, &wx, &wy); label = get_default_string(GetInterp(), gap_defs, "CONTIG_SEL.CURSOR1_X"); canvasCursorX(GetInterp(), cs->canvas, cs->frame, label, cs->cursor.colour, cs->cursor.width, *cx, wx, cs->win_list, cs->num_wins); /* fill in local position of cursor in label box */ local_pos = CSLocalCursor(io, wx); label = get_default_string(GetInterp(), gap_defs, "CONTIG_SEL.CURSOR2_X"); sprintf(cmd, "%s%s configure -text %d\n", cs->frame, label, (int)local_pos); Tcl_Eval(GetInterp(), cmd); break; } case TASK_CANVAS_CURSOR_Y: { char *label; int *cy = (int *)jdata->generic.data; double local_pos; double wx, wy; char cmd[1024]; double cx1, cy1; CanvasToWorld(cs->canvas, 0, *cy, &wx, &wy); WorldToCanvas(cs->canvas, wy, 0, &cx1, &cy1); label = get_default_string(GetInterp(), gap_defs, "CONTIG_SEL.CURSOR1_Y"); canvasCursorY(GetInterp(), cs->canvas, cs->frame, label, cs->cursor.colour, cs->cursor.width, *cy, wy, cs->win_list, cs->num_wins); sprintf(cmd, "DrawCanvasCursorX1 %s %s %.20f %s %d\n", cs->frame, cs->hori, cx1, cs->cursor.colour, cs->cursor.width); if (TCL_ERROR == Tcl_Eval(GetInterp(), cmd)) printf("%s\n", GetInterpResult()); /* fill in local position of cursor in label box */ local_pos = CSLocalCursor(io, wy); label = get_default_string(GetInterp(), gap_defs, "CONTIG_SEL.CURSOR2_Y"); sprintf(cmd, "%s%s configure -text %d\n", cs->frame, label, (int)local_pos); Tcl_Eval(GetInterp(), cmd); break; } case TASK_CANVAS_CURSOR_DELETE: { int i; for (i = 0; i < cs->num_wins; i++) { Tcl_VarEval(GetInterp(), cs->win_list[i]->window, " delete cursor_x cursor_x1 cursor_y", NULL); } break; } case TASK_CS_REDRAW: { /* HACK - never used */ int i, id = register_id(); for (i = 1; i <= NumContigs(io); i++) { contig_deregister(io, i, cs_callback, fdata); contig_register(io, i, cs_callback, fdata, id, REG_REQUIRED | REG_DATA_CHANGE | REG_OPS | REG_NUMBER_CHANGE | REG_ANNO | REG_GENERIC | REG_FLAG_INVIS | REG_BUFFER, REG_TYPE_CONTIGSEL); } break; } break; } break; case REG_JOIN_TO: case REG_LENGTH: case REG_DELETE: case REG_COMPLEMENT: case REG_NUMBER_CHANGE: #ifdef DEBUG printf("contig selector REG_REDRAW %d\n", cs->buffer_count); #endif update_contig_selector(GetInterp(), io, cs); if (cs->vert[0] != '\0') { update_contig_comparator(GetInterp(), io, cs); } /* update tcl globals, CurContig, LREG and RREG */ sprintf(cmd, "ContigParams %d", *handle_io(io)); Tcl_Eval(GetInterp(), cmd); #ifdef HACK printf("COM %s \n", cs->com); if (cs->buffer_count) { cs->do_update = 1; } else { Tcl_Eval(cs->interp, cs->com); } #endif break; } }
fpD3D12Window::~fpD3D12Window() { deleteWindow(); }
~WindowData() { deleteWindow(); }
void closeDialog(Widget *widget, Window *window) { deleteWindow(hDlog); hDlog = -1; }
void closeWindow(Widget *widget, Window *window) { deleteWindow(hWind); exit(); }