Changeset 3979 in Sophya for trunk/AddOn/TAcq/brbaseproc.cc
- Timestamp:
- May 4, 2011, 9:18:09 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/brbaseproc.cc
r3955 r3979 96 96 cout << "BRBaseProcessor[" << bpnom_ << "," << bpid_ << "]::run() - Starting " << " NFibers=" 97 97 << memgr_.NbFibres() << endl; 98 if (fgproctimewin_) cout << " BRBaseProcessor...TimeWindow Start=" << tmstart_ << " End=" << tmend_ << endl; 98 99 99 100 size_t paqsz=memgr_.PaqSize(); 100 101 size_t procpaqsz=memgr_.ProcPaqSize(); 102 103 double tstartdays = tmstart_.ToDays(); 104 double tenddays = tmend_.ToDays(); 105 101 106 bool fgrun=true; 102 107 while (fgrun) { 103 108 if (stop_) break; 104 109 if (memgr_.GetRunState() == MemZR_Stopped) break; 105 int mid= memgr_.FindMemZoneId(mmact_); // (MemZA_ProcA);106 // Byte* buffg = memgr_.GetMemZone(mid );110 mid_ = memgr_.FindMemZoneId(mmact_); // (MemZA_ProcA); 111 // Byte* buffg = memgr_.GetMemZone(mid_); 107 112 // if (buffg == NULL) { 108 if (mid < 0) {113 if (mid_ < 0) { 109 114 cout << "BRBaseProcessor[" << bpnom_ << "," << bpid_ << "]::run()/ERROR FindMemZoneId(" 110 << (int)mmact_ << ") ->" << mid << ") -> NULL" << endl;115 << (int)mmact_ << ") ->" << mid_ << ") -> NULL" << endl; 111 116 setRC(7); fgrun=false; 112 117 break; 113 118 } 114 cts_=memgr_.GetAuxData(mid )->FillTime(); // get associated date/time (DATEOBS)119 cts_=memgr_.GetAuxData(mid_)->FillTime(); // get associated date/time (DATEOBS) 115 120 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 116 fbuff_[fib] = memgr_.GetMemZone(mid ,fib);121 fbuff_[fib] = memgr_.GetMemZone(mid_,fib); 117 122 if (fbuff_[fib] == NULL) { // cela ne devrait pas arriver 118 123 cout << "BRBaseProcessor[" << bpnom_ << "," << bpid_ << "]::run()/ERROR memgr.GetMemZone(" 119 << mid << "," << fib << ") -> NULL" << endl;124 << mid_ << "," << fib << ") -> NULL" << endl; 120 125 setRC(9); fgrun=false; 121 126 break; 122 127 } 123 if ((procpaqsz>0)&&((fprocbuff_[fib]=memgr_.GetProcMemZone(mid ,fib))==NULL)) { // cela ne devrait pas arriver non plus128 if ((procpaqsz>0)&&((fprocbuff_[fib]=memgr_.GetProcMemZone(mid_,fib))==NULL)) { // cela ne devrait pas arriver non plus 124 129 cout << "BRBaseProcessor[" << bpnom_ << "," << bpid_ << "]::run()/ERROR memgr.GetProcMemZone(" 125 << mid << "," << fib << ") -> NULL" << endl;130 << mid_ << "," << fib << ") -> NULL" << endl; 126 131 setRC(9); fgrun=false; 127 132 break; 128 133 } 129 134 } 130 for(size_t jp=0; jp<memgr_.NbPaquets(); jp++) { // boucle sur les paquets d'une zone 131 fgokallfibers_=true; 132 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 133 vpaq_[fib].Set(fbuff_[fib]+jp*paqsz); 134 vfgok_[fib]=vpchk_[fib].Check(vpaq_[fib],curfc_[fib]); 135 if (!vfgok_[fib]) fgokallfibers_=false; 136 if (procpaqsz>0) vprocpaq_[fib] = fprocbuff_[fib]+jp*procpaqsz; 137 } 138 //--- Traitement 139 int rcp=0; 140 if (fgokallfibers_) { 141 if (totprocnpaq_==0) { 142 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 143 fcfirst_[fib]=curfc_[fib]; 144 ttfirst_[fib]=vpaq_[fib].TimeTag(); 135 136 // On ne traite les paquets que si pas de fenetre en temps ou tmstart_ <= FillTime() <= tmend_ 137 double ftmdays = memgr_.GetAuxData(mid_)->FillTime().ToDays(); 138 if ((!fgproctimewin_) || ( (ftmdays<=tenddays)&&(ftmdays>=tstartdays) ) ) { 139 140 for(size_t jp=0; jp<memgr_.NbPaquets(); jp++) { // boucle sur les paquets d'une zone 141 fgokallfibers_=true; 142 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 143 vpaq_[fib].Set(fbuff_[fib]+jp*paqsz); 144 vfgok_[fib]=vpchk_[fib].Check(vpaq_[fib],curfc_[fib]); 145 if (!vfgok_[fib]) fgokallfibers_=false; 146 if (procpaqsz>0) vprocpaq_[fib] = fprocbuff_[fib]+jp*procpaqsz; 147 } 148 //--- Traitement 149 int rcp=0; 150 if (fgokallfibers_) { 151 if (totprocnpaq_==0) { 152 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) { 153 fcfirst_[fib]=curfc_[fib]; 154 ttfirst_[fib]=vpaq_[fib].TimeTag(); 155 } 145 156 } 157 rcp=Process(); 158 totprocnpaq_++; 146 159 } 147 rcp=Process(); 148 totprocnpaq_++; 149 } 150 // if (rcp != 0) { fgrun=false; break; } 151 } // Fin de boucle sur les paquets 152 memgr_.FreeMemZone(mid, mmsta_); // (MemZS_ProcA); 160 // if (rcp != 0) { fgrun=false; break; } 161 } // Fin de boucle sur les paquets 162 } // Fin de test pour fenetre en temps de traitement des paquets 163 164 memgr_.FreeMemZone(mid_, mmsta_); // (MemZS_ProcA); 153 165 } // Fin de boucle sur les zones a traiter 154 166 //------------------------------------ … … 198 210 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) 199 211 cout << getCurTimeTagSeconds(fib) << "," ; 212 if (prtlev_<4) return 0; 213 cout << " ... FileSequenceNumber[0..." << memgr_.NbFibres()-1 << "]=" ; 214 for(size_t fib=0; fib<(size_t)memgr_.NbFibres(); fib++) 215 cout << memgr_.GetAuxData(mid_)->FileSequenceNumber(fib) << ","; 200 216 cout << endl; 201 217 }
Note:
See TracChangeset
for help on using the changeset viewer.