Changeset 888 for branches/prototype-v0/zoo-project/zoo-kernel/caching.c
- Timestamp:
- Nov 16, 2018, 3:09:05 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/prototype-v0/zoo-project/zoo-kernel/caching.c
r886 r888 411 411 char *mimeType=NULL; 412 412 int fsize=0; 413 char oriname[12]; 413 414 char cname[15]; 414 415 char vname[11]; … … 430 431 sprintf(cname,"cache_file_%d",i); 431 432 tmp1=getMap(content->content,cname); 433 sprintf(oriname,"origin_%d",i); 432 434 sprintf(vname,"value_%d",i); 433 435 sprintf(sname,"size_%d",i); … … 441 443 }else{ 442 444 sprintf(cname,"cache_file"); 445 sprintf(oriname,"origin"); 443 446 sprintf(vname,"value"); 444 447 sprintf(sname,"size"); … … 539 542 addToMap((*in)->content,sname,ltmp1); 540 543 addToMap((*in)->content,mname,mimeType); 544 char* origin=getProvenance(*m,request); 545 addToMap((*in)->content,oriname,origin); 541 546 if(memUse==NULL || strcasecmp(memUse->value,"load")==0){ 542 547 addToCache(*m,request,fcontent,mimeType,fsize, NULL, 0); … … 632 637 char* cached=isInCache(*m,url); 633 638 char *mimeType=NULL; 639 char *origin=NULL; 634 640 int fsize=0; 635 641 map* memUse=getMapFromMaps(*m,"main","memory"); … … 674 680 unlockFile(*m,lck); 675 681 } 682 cached[strlen(cached)-1]='p'; 683 s=stat(cached, &f_status); 684 if(s==0){ 685 zooLock* lck=lockFile(*m,cached,'r'); 686 if(lck==NULL) 687 return -1; 688 origin=(char*)malloc(sizeof(char)*(f_status.st_size+1)); 689 FILE* f=fopen(cached,"rb"); 690 fread(origin,f_status.st_size,1,f); 691 mimeType[f_status.st_size]=0; 692 fclose(f); 693 unlockFile(*m,lck); 694 } 676 695 }else{ 677 696 addRequestToQueue(m,hInternet,url,true); … … 683 702 if(mimeType!=NULL){ 684 703 addToMap(*content,"fmimeType",mimeType); 704 } 705 if(origin!=NULL){ 706 addToMap(*content,"origin",origin); 685 707 } 686 708
Note: See TracChangeset
for help on using the changeset viewer.