#include "TPacketizerAdaptive.h"
#include "Riostream.h"
#include "TDSet.h"
#include "TError.h"
#include "TEnv.h"
#include "TEntryList.h"
#include "TEventList.h"
#include "TMap.h"
#include "TMessage.h"
#include "TMonitor.h"
#include "TNtupleD.h"
#include "TObject.h"
#include "TParameter.h"
#include "TPerfStats.h"
#include "TProofDebug.h"
#include "TProof.h"
#include "TProofServ.h"
#include "TSlave.h"
#include "TSocket.h"
#include "TSortedList.h"
#include "TUrl.h"
#include "TClass.h"
#include "TRandom.h"
#include "TMath.h"
#include "TObjString.h"
#include "TList.h"
class TPacketizerAdaptive::TFileStat : public TObject {
private:
Bool_t fIsDone;
TFileNode *fNode;
TDSetElement *fElement;
Long64_t fNextEntry;
public:
TFileStat(TFileNode *node, TDSetElement *elem, TList *file);
Bool_t IsDone() const {return fIsDone;}
Bool_t IsSortable() const { return kTRUE; }
void SetDone() {fIsDone = kTRUE;}
TFileNode *GetNode() const {return fNode;}
TDSetElement *GetElement() const {return fElement;}
Long64_t GetNextEntry() const {return fNextEntry;}
void MoveNextEntry(Long64_t step) {fNextEntry += step;}
Int_t Compare(const TObject* obj) const
{
const TFileStat *fst = dynamic_cast<const TFileStat*>(obj);
if (fst && GetElement() && fst->GetElement()) {
Long64_t ent = GetElement()->GetNum();
Long64_t entfst = fst->GetElement()->GetNum();
if (ent > 0 && entfst > 0) {
if (ent > entfst) {
return 1;
} else if (ent < entfst) {
return -1;
} else {
return 0;
}
}
}
return 0;
}
void Print(Option_t * = 0) const
{
Printf("TFileStat: %s %lld", fElement ? fElement->GetName() : "---",
fElement ? fElement->GetNum() : -1);
}
};
TPacketizerAdaptive::TFileStat::TFileStat(TFileNode *node, TDSetElement *elem, TList *files)
: fIsDone(kFALSE), fNode(node), fElement(elem), fNextEntry(elem->GetFirst())
{
if (files) files->Add(this);
}
class TPacketizerAdaptive::TFileNode : public TObject {
private:
TString fNodeName;
TList *fFiles;
TObject *fUnAllocFileNext;
TList *fActFiles;
TObject *fActFileNext;
Int_t fMySlaveCnt;
Int_t fExtSlaveCnt;
Int_t fRunSlaveCnt;
Long64_t fProcessed;
Long64_t fEvents;
Int_t fStrategy;
TSortedList *fFilesToProcess;
public:
TFileNode(const char *name, Int_t strategy, TSortedList *files);
~TFileNode() { delete fFiles; delete fActFiles; }
void IncMySlaveCnt() { fMySlaveCnt++; }
Int_t GetMySlaveCnt() const { return fMySlaveCnt; }
void IncExtSlaveCnt(const char *slave) { if (fNodeName != slave) fExtSlaveCnt++; }
void DecExtSlaveCnt(const char *slave) { if (fNodeName != slave) fExtSlaveCnt--; R__ASSERT(fExtSlaveCnt >= 0); }
Int_t GetSlaveCnt() const { return fMySlaveCnt + fExtSlaveCnt; }
void IncRunSlaveCnt() { fRunSlaveCnt++; }
void DecRunSlaveCnt() { fRunSlaveCnt--; R__ASSERT(fRunSlaveCnt >= 0); }
Int_t GetRunSlaveCnt() const { return fRunSlaveCnt; }
Int_t GetExtSlaveCnt() const { return fExtSlaveCnt; }
Int_t GetNumberOfActiveFiles() const { return fActFiles->GetSize(); }
Bool_t IsSortable() const { return kTRUE; }
Int_t GetNumberOfFiles() { return fFiles->GetSize(); }
void IncProcessed(Long64_t nEvents)
{ fProcessed += nEvents; }
Long64_t GetProcessed() const { return fProcessed; }
void DecreaseProcessed(Long64_t nEvents) { fProcessed -= nEvents; }
Long64_t GetEventsLeftPerSlave() const
{ return ((fEvents - fProcessed)/(fRunSlaveCnt + 1)); }
void IncEvents(Long64_t nEvents) { fEvents += nEvents; }
const char *GetName() const { return fNodeName.Data(); }
Long64_t GetNEvents() const { return fEvents; }
void Print(Option_t * = 0) const
{
TFileStat *fs = 0;
TDSetElement *e = 0;
Int_t nn = 0;
Printf("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
Printf("+++ TFileNode: %s +++", fNodeName.Data());
Printf("+++ Evts: %lld (total: %lld) ", fProcessed, fEvents);
Printf("+++ Worker count: int:%d, ext: %d, tot:%d ", fMySlaveCnt, fExtSlaveCnt, fRunSlaveCnt);
Printf("+++ Files: %d ", fFiles ? fFiles->GetSize() : 0);
if (fFiles && fFiles->GetSize() > 0) {
TIter nxf(fFiles);
while ((fs = (TFileStat *) nxf())) {
if ((e = fs->GetElement())) {
Printf("+++ #%d: %s %lld - %lld (%lld) - next: %lld ", ++nn, e->GetName(),
e->GetFirst(), e->GetFirst() + e->GetNum() - 1, e->GetNum(), fs->GetNextEntry());
} else {
Printf("+++ #%d: no element! ", ++nn);
}
}
}
Printf("+++ Active files: %d ", fActFiles ? fActFiles->GetSize() : 0);
if (fActFiles && fActFiles->GetSize() > 0) {
TIter nxaf(fActFiles);
while ((fs = (TFileStat *) nxaf())) {
if ((e = fs->GetElement())) {
Printf("+++ #%d: %s %lld - %lld (%lld) - next: %lld", ++nn, e->GetName(),
e->GetFirst(), e->GetFirst() + e->GetNum() - 1, e->GetNum(), fs->GetNextEntry());
} else {
Printf("+++ #%d: no element! ", ++nn);
}
}
}
Printf("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
}
void Add(TDSetElement *elem, Bool_t tolist)
{
TList *files = tolist ? (TList *)fFilesToProcess : (TList *)0;
TFileStat *f = new TFileStat(this, elem, files);
fFiles->Add(f);
if (fUnAllocFileNext == 0) fUnAllocFileNext = fFiles->First();
}
TFileStat *GetNextUnAlloc()
{
TObject *next = fUnAllocFileNext;
if (next != 0) {
fActFiles->Add(next);
if (fActFileNext == 0) fActFileNext = fActFiles->First();
fUnAllocFileNext = fFiles->After(fUnAllocFileNext);
}
return (TFileStat *) next;
}
TFileStat *GetNextActive()
{
TObject *next = fActFileNext;
if (fActFileNext != 0) {
fActFileNext = fActFiles->After(fActFileNext);
if (fActFileNext == 0) fActFileNext = fActFiles->First();
}
return (TFileStat *) next;
}
void RemoveActive(TFileStat *file)
{
if (fActFileNext == file) fActFileNext = fActFiles->After(file);
fActFiles->Remove(file);
if (fFilesToProcess) fFilesToProcess->Remove(file);
if (fActFileNext == 0) fActFileNext = fActFiles->First();
}
Int_t Compare(const TObject *other) const
{
const TFileNode *obj = dynamic_cast<const TFileNode*>(other);
if (!obj) return 0;
if (fStrategy == 1) {
Int_t myVal = GetRunSlaveCnt();
Int_t otherVal = obj->GetRunSlaveCnt();
if (myVal < otherVal) {
return -1;
} else if (myVal > otherVal) {
return 1;
} else {
if ((fEvents - fProcessed) >
(obj->GetNEvents() - obj->GetProcessed())) {
return -1;
} else {
return 1;
}
}
} else {
Int_t myVal = GetSlaveCnt();
Int_t otherVal = obj->GetSlaveCnt();
if (myVal < otherVal) {
return -1;
} else if (myVal > otherVal) {
return 1;
} else {
return 0;
}
}
}
void Reset()
{
fUnAllocFileNext = fFiles->First();
fActFiles->Clear();
fActFileNext = 0;
fExtSlaveCnt = 0;
fMySlaveCnt = 0;
fRunSlaveCnt = 0;
}
};
TPacketizerAdaptive::TFileNode::TFileNode(const char *name, Int_t strategy, TSortedList *files)
: fNodeName(name), fFiles(new TList), fUnAllocFileNext(0),
fActFiles(new TList), fActFileNext(0), fMySlaveCnt(0),
fExtSlaveCnt(0), fRunSlaveCnt(0), fProcessed(0), fEvents(0),
fStrategy(strategy), fFilesToProcess(files)
{
fFiles->SetOwner();
fActFiles->SetOwner(kFALSE);
}
class TPacketizerAdaptive::TSlaveStat : public TVirtualPacketizer::TVirtualSlaveStat {
friend class TPacketizerAdaptive;
private:
TFileNode *fFileNode;
TFileStat *fCurFile;
TDSetElement *fCurElem;
Long64_t fCurProcessed;
Float_t fCurProcTime;
TList *fDSubSet;
public:
TSlaveStat(TSlave *slave);
~TSlaveStat();
TFileNode *GetFileNode() const { return fFileNode; }
Long64_t GetEntriesProcessed() const { return fStatus?fStatus->GetEntries():-1; }
Double_t GetProcTime() const { return fStatus?fStatus->GetProcTime():-1; }
TFileStat *GetCurFile() { return fCurFile; }
void SetFileNode(TFileNode *node) { fFileNode = node; }
void UpdateRates(TProofProgressStatus *st);
Float_t GetAvgRate() { return fStatus->GetRate(); }
Float_t GetCurRate() {
return (fCurProcTime?fCurProcessed/fCurProcTime:0); }
Int_t GetLocalEventsLeft() {
return fFileNode?(fFileNode->GetEventsLeftPerSlave()):0; }
TList *GetProcessedSubSet() { return fDSubSet; }
TProofProgressStatus *GetProgressStatus() { return fStatus; }
TProofProgressStatus *AddProcessed(TProofProgressStatus *st = 0);
};
TPacketizerAdaptive::TSlaveStat::TSlaveStat(TSlave *slave)
: fFileNode(0), fCurFile(0), fCurElem(0),
fCurProcessed(0), fCurProcTime(0)
{
fDSubSet = new TList();
fDSubSet->SetOwner();
fSlave = slave;
fStatus = new TProofProgressStatus();
fWrkFQDN = slave->GetName();
if (strcmp(slave->ClassName(), "TSlaveLite")) {
fWrkFQDN = TUrl(fWrkFQDN).GetHostFQDN();
if (fWrkFQDN.Contains("localhost") || fWrkFQDN == "127.0.0.1")
fWrkFQDN = TUrl(gSystem->HostName()).GetHostFQDN();
}
PDB(kPacketizer, 2)
Info("TSlaveStat", "wrk FQDN: %s", fWrkFQDN.Data());
}
TPacketizerAdaptive::TSlaveStat::~TSlaveStat()
{
SafeDelete(fDSubSet);
SafeDelete(fStatus);
}
void TPacketizerAdaptive::TSlaveStat::UpdateRates(TProofProgressStatus *st)
{
if (!st) {
Error("UpdateRates", "no status object!");
return;
}
if (fCurFile->IsDone()) {
fCurProcTime = 0;
fCurProcessed = 0;
} else {
fCurProcTime += st->GetProcTime() - GetProcTime();
fCurProcessed += st->GetEntries() - GetEntriesProcessed();
}
fCurFile->GetNode()->IncProcessed(st->GetEntries() - GetEntriesProcessed());
st->SetLastEntries(st->GetEntries() - fStatus->GetEntries());
SafeDelete(fStatus);
fStatus = st;
}
TProofProgressStatus *TPacketizerAdaptive::TSlaveStat::AddProcessed(TProofProgressStatus *st)
{
if (st && fDSubSet && fCurElem) {
if (fCurElem->GetNum() != st->GetEntries() - GetEntriesProcessed())
fCurElem->SetNum(st->GetEntries() - GetEntriesProcessed());
fDSubSet->Add(fCurElem);
TProofProgressStatus *diff = new TProofProgressStatus(*st - *fStatus);
return diff;
} else {
Error("AddProcessed", "processed subset of current elem undefined");
return 0;
}
}
ClassImp(TPacketizerAdaptive)
TPacketizerAdaptive::TPacketizerAdaptive(TDSet *dset, TList *slaves,
Long64_t first, Long64_t num,
TList *input, TProofProgressStatus *st)
: TVirtualPacketizer(input, st)
{
PDB(kPacketizer,1) Info("TPacketizerAdaptive",
"enter (first %lld, num %lld)", first, num);
fSlaveStats = 0;
fUnAllocated = 0;
fActive = 0;
fFileNodes = 0;
fMaxPerfIdx = 1;
fCachePacketSync = kTRUE;
fMaxEntriesRatio = 2.;
fMaxSlaveCnt = -1;
fPacketAsAFraction = 4;
fStrategy = 1;
fFilesToProcess = new TSortedList;
fFilesToProcess->SetOwner(kFALSE);
if (!fProgressStatus) {
Error("TPacketizerAdaptive", "No progress status");
return;
}
Int_t cpsync = -1;
if (TProof::GetParameter(input, "PROOF_PacketizerCachePacketSync", cpsync) != 0) {
cpsync = gEnv->GetValue("Packetizer.CachePacketSync", 1);
}
if (cpsync >= 0) fCachePacketSync = (cpsync > 0) ? kTRUE : kFALSE;
if (TProof::GetParameter(input, "PROOF_PacketizerMaxEntriesRatio", fMaxEntriesRatio) != 0) {
fMaxEntriesRatio = gEnv->GetValue("Packetizer.MaxEntriesRatio", 2.);
}
Int_t strategy = -1;
if (TProof::GetParameter(input, "PROOF_PacketizerStrategy", strategy) != 0) {
strategy = gEnv->GetValue("Packetizer.Strategy", 1);
}
if (strategy == 0) {
fStrategy = 0;
Info("TPacketizerAdaptive", "using the basic strategy of TPacketizer");
} else if (strategy != 1) {
Warning("TPacketizerAdaptive", "unsupported strategy index (%d): ignore", strategy);
}
Long_t maxSlaveCnt = 0;
if (TProof::GetParameter(input, "PROOF_MaxSlavesPerNode", maxSlaveCnt) == 0) {
if (maxSlaveCnt < 1) {
Info("TPacketizerAdaptive",
"The value of PROOF_MaxSlavesPerNode must be grater than 0");
maxSlaveCnt = 0;
}
} else {
Int_t mxslcnt = -1;
if (TProof::GetParameter(input, "PROOF_MaxSlavesPerNode", mxslcnt) == 0) {
if (mxslcnt < 1) {
Info("TPacketizerAdaptive",
"The value of PROOF_MaxSlavesPerNode must be grater than 0");
mxslcnt = 0;
}
maxSlaveCnt = (Long_t) mxslcnt;
}
}
if (!maxSlaveCnt)
maxSlaveCnt = gEnv->GetValue("Packetizer.MaxWorkersPerNode", 0);
if (maxSlaveCnt > 0) {
fMaxSlaveCnt = maxSlaveCnt;
Info("TPacketizerAdaptive", "Setting max number of workers per node to %ld",
fMaxSlaveCnt);
}
fForceLocal = kFALSE;
Int_t forceLocal = 0;
if (TProof::GetParameter(input, "PROOF_ForceLocal", forceLocal) == 0) {
if (forceLocal == 1)
fForceLocal = kTRUE;
else
Info("TPacketizerAdaptive",
"The only accepted value of PROOF_ForceLocal parameter is 1 !");
}
Int_t packetAsAFraction = 0;
if (TProof::GetParameter(input, "PROOF_PacketAsAFraction", packetAsAFraction) == 0) {
if (packetAsAFraction > 0) {
fPacketAsAFraction = packetAsAFraction;
Info("TPacketizerAdaptive",
"using alternate fraction of query time as a packet size: %d",
packetAsAFraction);
} else
Info("TPacketizerAdaptive", "packetAsAFraction parameter must be higher than 0");
}
fConfigParams->Add(new TParameter<Int_t>("PROOF_PacketizerCachePacketSync", (Int_t)fCachePacketSync));
fConfigParams->Add(new TParameter<Double_t>("PROOF_PacketizerMaxEntriesRatio", fMaxEntriesRatio));
fConfigParams->Add(new TParameter<Int_t>("PROOF_PacketizerStrategy", fStrategy));
fConfigParams->Add(new TParameter<Int_t>("PROOF_MaxWorkersPerNode", (Int_t)fMaxSlaveCnt));
fConfigParams->Add(new TParameter<Int_t>("PROOF_ForceLocal", (Int_t)fForceLocal));
fConfigParams->Add(new TParameter<Int_t>("PROOF_PacketAsAFraction", fPacketAsAFraction));
Double_t baseLocalPreference = 1.2;
TProof::GetParameter(input, "PROOF_BaseLocalPreference", baseLocalPreference);
fBaseLocalPreference = (Float_t)baseLocalPreference;
fFileNodes = new TList;
fFileNodes->SetOwner();
fUnAllocated = new TList;
fUnAllocated->SetOwner(kFALSE);
fActive = new TList;
fActive->SetOwner(kFALSE);
fValid = kTRUE;
TObjArray *partitions = 0;
TString partitionsStr;
if (TProof::GetParameter(input, "PROOF_PacketizerPartitions", partitionsStr) != 0)
partitionsStr = gEnv->GetValue("Packetizer.Partitions", "");
if (!partitionsStr.IsNull()) {
Info("TPacketizerAdaptive", "Partitions: %s", partitionsStr.Data());
partitions = partitionsStr.Tokenize(",");
}
dset->Reset();
TDSetElement *e;
while ((e = (TDSetElement*)dset->Next())) {
if (e->GetValid()) continue;
if (fDataSet.IsNull() && e->GetDataSet() && strlen(e->GetDataSet()))
fDataSet = e->GetDataSet();
TUrl url = e->GetFileName();
TString host;
if ( !url.IsValid() ||
(strncmp(url.GetProtocol(),"root", 4) &&
strncmp(url.GetProtocol(),"rfio", 4)) ) {
host = "no-host";
} else {
host = url.GetHostFQDN();
}
if (host.Contains("localhost") || host == "127.0.0.1") {
url.SetHost(gSystem->HostName());
host = url.GetHostFQDN();
}
TString disk;
if (partitions) {
TIter iString(partitions);
TObjString* os = 0;
while ((os = (TObjString *)iString())) {
if (strncmp(url.GetFile(), os->GetName(), os->GetString().Length()) == 0) {
disk = os->GetName();
break;
}
}
}
TString nodeStr;
if (disk.IsNull())
nodeStr.Form("%s://%s", url.GetProtocol(), host.Data());
else
nodeStr.Form("%s://%s/%s", url.GetProtocol(), host.Data(), disk.Data());
TFileNode *node = (TFileNode *) fFileNodes->FindObject(nodeStr);
if (node == 0) {
node = new TFileNode(nodeStr, fStrategy, fFilesToProcess);
fFileNodes->Add(node);
PDB(kPacketizer,2)
Info("TPacketizerAdaptive", "creating new node '%s' or the element", nodeStr.Data());
} else {
PDB(kPacketizer,2)
Info("TPacketizerAdaptive", "adding element to existing node '%s'", nodeStr.Data());
}
node->Add(e, kFALSE);
}
fSlaveStats = new TMap;
fSlaveStats->SetOwner(kFALSE);
TSlave *slave;
TIter si(slaves);
while ((slave = (TSlave*) si.Next())) {
fSlaveStats->Add( slave, new TSlaveStat(slave) );
fMaxPerfIdx = slave->GetPerfIdx() > fMaxPerfIdx ?
slave->GetPerfIdx() : fMaxPerfIdx;
}
Reset();
Bool_t byfile = kFALSE;
Int_t validateMode = 0;
if (TProof::GetParameter(input, "PROOF_ValidateByFile", validateMode) == 0)
byfile = (validateMode > 0 && num > -1) ? kTRUE : kFALSE;
ValidateFiles(dset, slaves, num, byfile);
if (!fValid) return;
Int_t files = 0;
fTotalEntries = 0;
fUnAllocated->Clear();
fActive->Clear();
fFileNodes->Clear();
PDB(kPacketizer,2)
Info("TPacketizerAdaptive",
"processing Range: First %lld, Num %lld", first, num);
dset->Reset();
Long64_t cur = 0;
while (( e = (TDSetElement*)dset->Next())) {
if (!e->GetValid()) continue;
TUrl url = e->GetFileName();
Long64_t eFirst = e->GetFirst();
Long64_t eNum = e->GetNum();
PDB(kPacketizer,2)
Info("TPacketizerAdaptive",
"processing element: first %lld, num %lld (cur %lld)", eFirst, eNum, cur);
if (!e->GetEntryList()) {
if (cur + eNum < first) {
cur += eNum;
PDB(kPacketizer,2)
Info("TPacketizerAdaptive",
"processing element: skip element cur %lld", cur);
continue;
}
if (num != -1 && (first+num <= cur)) {
cur += eNum;
PDB(kPacketizer,2)
Info("TPacketizerAdaptive",
"processing element: drop element cur %lld", cur);
continue;
}
if (num != -1 && (first+num < cur+eNum)) {
e->SetNum( first + num - cur );
eNum = e->GetNum();
PDB(kPacketizer,2)
Info("TPacketizerAdaptive",
"processing element: adjust end %lld", first + num - cur);
}
if (cur < first) {
e->SetFirst( eFirst + (first - cur) );
e->SetNum( e->GetNum() - (first - cur) );
eNum = e->GetNum();
PDB(kPacketizer,2)
Info("TPacketizerAdaptive",
"processing element: adjust start %lld and end %lld",
eFirst + (first - cur), first + num - cur);
}
cur += eNum;
} else {
TEntryList *enl = dynamic_cast<TEntryList *>(e->GetEntryList());
if (enl) {
eNum = enl->GetN();
} else {
TEventList *evl = dynamic_cast<TEventList *>(e->GetEntryList());
eNum = evl ? evl->GetN() : eNum;
}
if (!eNum)
continue;
}
PDB(kPacketizer,2)
Info("TPacketizerAdaptive",
"processing element: next cur %lld", cur);
TString host;
if ( !url.IsValid() ||
(strncmp(url.GetProtocol(),"root", 4) &&
strncmp(url.GetProtocol(),"rfio", 4)) ) {
host = "no-host";
} else {
host = url.GetHostFQDN();
}
if (host.Contains("localhost") || host == "127.0.0.1") {
url.SetHost(gSystem->HostName());
host = url.GetHostFQDN();
}
TString disk;
if (partitions) {
TIter iString(partitions);
TObjString* os = 0;
while ((os = (TObjString *)iString())) {
if (strncmp(url.GetFile(), os->GetName(), os->GetString().Length()) == 0) {
disk = os->GetName();
break;
}
}
}
TString nodeStr;
if (disk.IsNull())
nodeStr.Form("%s://%s", url.GetProtocol(), host.Data());
else
nodeStr.Form("%s://%s/%s", url.GetProtocol(), host.Data(), disk.Data());
TFileNode *node = (TFileNode*) fFileNodes->FindObject(nodeStr);
if (node == 0) {
node = new TFileNode(nodeStr, fStrategy, fFilesToProcess);
fFileNodes->Add( node );
PDB(kPacketizer, 2)
Info("TPacketizerAdaptive", "creating new node '%s' for element", nodeStr.Data());
} else {
PDB(kPacketizer, 2)
Info("TPacketizerAdaptive", "adding element to exiting node '%s'", nodeStr.Data());
}
++files;
fTotalEntries += eNum;
node->Add(e, kTRUE);
node->IncEvents(eNum);
PDB(kPacketizer,2) e->Print("a");
}
PDB(kGlobal,1)
Info("TPacketizerAdaptive", "processing %lld entries in %d files on %d hosts",
fTotalEntries, files, fFileNodes->GetSize());
if (gPerfStats)
gPerfStats->SetNumEvents(fTotalEntries);
Reset();
InitStats();
if (!fValid)
SafeDelete(fProgress);
PDB(kPacketizer,1) Info("TPacketizerAdaptive", "return");
}
TPacketizerAdaptive::~TPacketizerAdaptive()
{
if (fSlaveStats) {
fSlaveStats->DeleteValues();
}
SafeDelete(fSlaveStats);
SafeDelete(fUnAllocated);
SafeDelete(fActive);
SafeDelete(fFileNodes);
SafeDelete(fFilesToProcess);
}
void TPacketizerAdaptive::InitStats()
{
Int_t noRemoteFiles = 0;
fNEventsOnRemLoc = 0;
Int_t totalNumberOfFiles = 0;
TIter next(fFileNodes);
while (TFileNode *fn = (TFileNode*)next()) {
totalNumberOfFiles += fn->GetNumberOfFiles();
if (fn->GetMySlaveCnt() == 0) {
noRemoteFiles += fn->GetNumberOfFiles();
fNEventsOnRemLoc += (fn->GetNEvents() - fn->GetProcessed());
}
}
if (totalNumberOfFiles == 0) {
Info("InitStats", "no valid or non-empty file found: setting invalid");
fValid = kFALSE;
return;
}
fFractionOfRemoteFiles = (1.0 * noRemoteFiles) / totalNumberOfFiles;
Info("InitStats",
"fraction of remote files %f", fFractionOfRemoteFiles);
if (!fValid)
SafeDelete(fProgress);
PDB(kPacketizer,1) Info("InitStats", "return");
}
TPacketizerAdaptive::TFileStat *TPacketizerAdaptive::GetNextUnAlloc(TFileNode *node, const char *nodeHostName)
{
TFileStat *file = 0;
if (node != 0) {
PDB(kPacketizer, 2)
Info("GetNextUnAlloc", "looking for file on node %s", node->GetName());
file = node->GetNextUnAlloc();
if (file == 0) RemoveUnAllocNode(node);
} else {
if (nodeHostName && strlen(nodeHostName) > 0) {
TFileNode *fn;
fUnAllocated->Sort();
PDB(kPacketizer,2) fUnAllocated->Print();
for (int i = 0; i < fUnAllocated->GetSize(); i++) {
if ((fn = (TFileNode *) fUnAllocated->At(i))) {
TUrl uu(fn->GetName());
PDB(kPacketizer, 2)
Info("GetNextUnAlloc", "comparing %s with %s...", nodeHostName, uu.GetHost());
if (!strcmp(nodeHostName, uu.GetHost())) {
node = fn;
if ((file = node->GetNextUnAlloc()) == 0) {
RemoveUnAllocNode(node);
node = 0;
} else {
PDB(kPacketizer, 2)
Info("GetNextUnAlloc", "found! (host: %s)", uu.GetHost());
break;
}
}
} else {
Warning("GetNextUnAlloc", "unallocate entry %d is empty!", i);
}
}
if (node != 0 && fMaxSlaveCnt > 0 && node->GetExtSlaveCnt() >= fMaxSlaveCnt) {
PDB(kPacketizer,1)
Info("GetNextUnAlloc", "reached Workers-per-Node Limit (%ld)", fMaxSlaveCnt);
node = 0;
}
}
if (node == 0) {
while (file == 0 && ((node = NextNode()) != 0)) {
PDB(kPacketizer, 2)
Info("GetNextUnAlloc", "looking for file on node %s", node->GetName());
if ((file = node->GetNextUnAlloc()) == 0) RemoveUnAllocNode(node);
}
}
}
if (file != 0) {
if (fActive->FindObject(node) == 0) {
fActive->Add(node);
}
}
return file;
}
TPacketizerAdaptive::TFileNode *TPacketizerAdaptive::NextNode()
{
fUnAllocated->Sort();
PDB(kPacketizer,2) {
fUnAllocated->Print();
}
TFileNode *fn = (TFileNode*) fUnAllocated->First();
if (fn != 0 && fMaxSlaveCnt > 0 && fn->GetExtSlaveCnt() >= fMaxSlaveCnt) {
PDB(kPacketizer,1)
Info("NextNode", "reached Workers-per-Node Limit (%ld)", fMaxSlaveCnt);
fn = 0;
}
return fn;
}
void TPacketizerAdaptive::RemoveUnAllocNode(TFileNode * node)
{
fUnAllocated->Remove(node);
}
TPacketizerAdaptive::TFileStat *TPacketizerAdaptive::GetNextActive()
{
TFileNode *node;
TFileStat *file = 0;
while (file == 0 && ((node = NextActiveNode()) != 0)) {
file = node->GetNextActive();
if (file == 0) RemoveActiveNode(node);
}
return file;
}
TPacketizerAdaptive::TFileNode *TPacketizerAdaptive::NextActiveNode()
{
fActive->Sort();
PDB(kPacketizer,2) {
Info("NextActiveNode", "enter");
fActive->Print();
}
TFileNode *fn = (TFileNode*) fActive->First();
if (fn != 0 && fMaxSlaveCnt > 0 && fn->GetExtSlaveCnt() >= fMaxSlaveCnt) {
PDB(kPacketizer,1)
Info("NextActiveNode","reached Workers-per-Node limit (%ld)", fMaxSlaveCnt);
fn = 0;
}
return fn;
}
void TPacketizerAdaptive::RemoveActive(TFileStat *file)
{
TFileNode *node = file->GetNode();
node->RemoveActive(file);
if (node->GetNumberOfActiveFiles() == 0) RemoveActiveNode(node);
}
void TPacketizerAdaptive::RemoveActiveNode(TFileNode *node)
{
fActive->Remove(node);
}
void TPacketizerAdaptive::Reset()
{
fUnAllocated->Clear();
fUnAllocated->AddAll(fFileNodes);
fActive->Clear();
TIter files(fFileNodes);
TFileNode *fn;
while ((fn = (TFileNode*) files.Next()) != 0) {
fn->Reset();
}
TIter slaves(fSlaveStats);
TObject *key;
while ((key = slaves.Next()) != 0) {
TSlaveStat *slstat = (TSlaveStat*) fSlaveStats->GetValue(key);
TFileNode *fnmin = 0;
Int_t fncnt = fSlaveStats->GetSize();
files.Reset();
while ((fn = (TFileNode*) files.Next()) != 0) {
if (!strcmp(slstat->GetName(), TUrl(fn->GetName()).GetHost())) {
if (fn->GetMySlaveCnt() < fncnt) {
fnmin = fn;
fncnt = fn->GetMySlaveCnt();
}
}
}
if (fnmin != 0 ) {
slstat->SetFileNode(fnmin);
fnmin->IncMySlaveCnt();
PDB(kPacketizer, 2)
Info("Reset","assigning node '%s' to '%s' (cnt: %d)",
fnmin->GetName(), slstat->GetName(), fnmin->GetMySlaveCnt());
}
slstat->fCurFile = 0;
}
}
void TPacketizerAdaptive::ValidateFiles(TDSet *dset, TList *slaves,
Long64_t maxent, Bool_t byfile)
{
TMap slaves_by_sock;
TMonitor mon;
TList workers;
workers.AddAll(slaves);
TIter si(slaves);
TSlave *slm;
while ((slm = (TSlave*)si.Next()) != 0) {
PDB(kPacketizer,3)
Info("ValidateFiles","socket added to monitor: %p (%s)",
slm->GetSocket(), slm->GetName());
mon.Add(slm->GetSocket());
slaves_by_sock.Add(slm->GetSocket(), slm);
}
mon.DeActivateAll();
((TProof*)gProof)->DeActivateAsyncInput();
((TProof*)gProof)->fCurrentMonitor = &mon;
if (!strcmp(dset->GetType(), "TTree")) SetBit(TVirtualPacketizer::kIsTree);
TString msg("Validating files");
UInt_t n = 0;
UInt_t tot = dset->GetListOfElements()->GetSize();
Bool_t st = kTRUE;
Long64_t totent = 0, nopenf = 0;
while (kTRUE) {
while (TSlave *s = (TSlave *)workers.First()) {
workers.Remove(s);
TSlaveStat *slstat = (TSlaveStat*)fSlaveStats->GetValue(s);
TFileNode *node = 0;
TFileStat *file = 0;
if ((node = slstat->GetFileNode()) != 0) {
file = GetNextUnAlloc(node);
if (file == 0)
slstat->SetFileNode(0);
}
if (file == 0)
file = GetNextUnAlloc();
if (file != 0) {
RemoveActive(file);
slstat->fCurFile = file;
TDSetElement *elem = file->GetElement();
Long64_t entries = elem->GetEntries(kTRUE, kFALSE);
if (entries < 0 || strlen(elem->GetTitle()) <= 0) {
file->GetNode()->IncExtSlaveCnt(slstat->GetName());
TMessage m(kPROOF_GETENTRIES);
m << dset->IsTree()
<< TString(elem->GetFileName())
<< TString(elem->GetDirectory())
<< TString(elem->GetObjName());
s->GetSocket()->Send( m );
mon.Activate(s->GetSocket());
PDB(kPacketizer,2)
Info("ValidateFiles",
"sent to worker-%s (%s) via %p GETENTRIES on %s %s %s %s",
s->GetOrdinal(), s->GetName(), s->GetSocket(),
dset->IsTree() ? "tree" : "objects", elem->GetFileName(),
elem->GetDirectory(), elem->GetObjName());
} else {
elem->SetTDSetOffset(entries);
if (entries > 0) {
elem->SetValid();
if (!elem->GetEntryList()) {
if (elem->GetFirst() > entries) {
Error("ValidateFiles",
"first (%lld) higher then number of entries (%lld) in %s",
elem->GetFirst(), entries, elem->GetFileName());
slstat->fCurFile->SetDone();
elem->Invalidate();
dset->SetBit(TDSet::kSomeInvalid);
}
if (elem->GetNum() == -1) {
elem->SetNum(entries - elem->GetFirst());
} else if (elem->GetFirst() + elem->GetNum() > entries) {
Warning("ValidateFiles", "num (%lld) + first (%lld) larger then number of"
" keys/entries (%lld) in %s", elem->GetNum(), elem->GetFirst(),
entries, elem->GetFileName());
elem->SetNum(entries - elem->GetFirst());
}
PDB(kPacketizer,2)
Info("ValidateFiles",
"found elem '%s' with %lld entries", elem->GetFileName(), entries);
}
}
totent += entries;
nopenf++;
n++;
gProof->SendDataSetStatus(msg, n, tot, st);
workers.Add(s);
}
}
}
if (mon.GetActive() == 0) {
if (byfile && maxent > 0) {
Long64_t nrestf = (maxent - totent) * nopenf / totent ;
if (nrestf <= 0 && maxent > totent) nrestf = 1;
if (nrestf > 0) {
PDB(kPacketizer,3)
Info("ValidateFiles", "{%lld, %lld, %lld}: needs to validate %lld more files",
maxent, totent, nopenf, nrestf);
si.Reset();
while ((slm = (TSlave *) si.Next()) && nrestf--) {
workers.Add(slm);
}
continue;
} else {
PDB(kPacketizer,3)
Info("ValidateFiles", "no need to validate more files");
break;
}
} else {
break;
}
}
PDB(kPacketizer,3) {
Info("ValidateFiles", "waiting for %d slaves:", mon.GetActive());
TList *act = mon.GetListOfActives();
TIter next(act);
while (TSocket *s = (TSocket*) next()) {
TSlave *sl = (TSlave *) slaves_by_sock.GetValue(s);
if (sl)
Info("ValidateFiles", " worker-%s (%s)",
sl->GetOrdinal(), sl->GetName());
}
delete act;
}
TSocket *sock = mon.Select();
if (!sock) {
Error("ValidateFiles", "selection has been interrupted - STOP");
mon.DeActivateAll();
fValid = kFALSE;
break;
}
mon.DeActivate(sock);
PDB(kPacketizer,3) Info("ValidateFiles", "select returned: %p", sock);
TSlave *slave = (TSlave *) slaves_by_sock.GetValue( sock );
if (!sock->IsValid()) {
Error("ValidateFiles", "worker-%s (%s) got invalid - STOP",
slave->GetOrdinal(), slave->GetName());
((TProof*)gProof)->MarkBad(slave, "socket got invalid during validation");
fValid = kFALSE;
break;
}
TMessage *reply;
if (sock->Recv(reply) <= 0) {
Error("ValidateFiles", "Recv failed! for worker-%s (%s)",
slave->GetOrdinal(), slave->GetName());
((TProof*)gProof)->MarkBad(slave, "receive failed during validation");
fValid = kFALSE;
continue;
}
if (reply->What() != kPROOF_GETENTRIES) {
Int_t what = reply->What();
((TProof*)gProof)->HandleInputMessage(slave, reply);
if (what == kPROOF_FATAL) {
Error("ValidateFiles", "kPROOF_FATAL from worker-%s (%s)",
slave->GetOrdinal(), slave->GetName());
fValid = kFALSE;
} else {
mon.Activate(sock);
}
continue;
}
TSlaveStat *slavestat = (TSlaveStat*) fSlaveStats->GetValue( slave );
TDSetElement *e = slavestat->fCurFile->GetElement();
slavestat->fCurFile->GetNode()->DecExtSlaveCnt(slavestat->GetName());
Long64_t entries;
(*reply) >> entries;
if ((reply->BufferSize() > reply->Length())) {
TString objname;
(*reply) >> objname;
e->SetTitle(objname);
}
e->SetTDSetOffset(entries);
if (entries > 0) {
e->SetValid();
if (!e->GetEntryList()) {
if (e->GetFirst() > entries) {
Error("ValidateFiles",
"first (%lld) higher then number of entries (%lld) in %s",
e->GetFirst(), entries, e->GetFileName());
slavestat->fCurFile->SetDone();
e->Invalidate();
dset->SetBit(TDSet::kSomeInvalid);
}
if (e->GetNum() == -1) {
e->SetNum(entries - e->GetFirst());
} else if (e->GetFirst() + e->GetNum() > entries) {
Error("ValidateFiles",
"num (%lld) + first (%lld) larger then number of keys/entries (%lld) in %s",
e->GetNum(), e->GetFirst(), entries, e->GetFileName());
e->SetNum(entries - e->GetFirst());
}
}
totent += entries;
nopenf++;
n++;
gProof->SendDataSetStatus(msg, n, tot, st);
} else {
Error("ValidateFiles", "cannot get entries for file: %s - skipping", e->GetFileName() );
if (gProofServ) {
TMessage m(kPROOF_MESSAGE);
m << TString(Form("Cannot get entries for file: %s - skipping",
e->GetFileName()));
gProofServ->GetSocket()->Send(m);
}
e->Invalidate();
dset->SetBit(TDSet::kSomeInvalid);
}
PDB(kPacketizer,3) Info("ValidateFiles", " %lld events validated", totent);
if (maxent < 0 || ((totent < maxent) && !byfile))
workers.Add(slave);
}
((TProof*)gProof)->ActivateAsyncInput();
((TProof*)gProof)->fCurrentMonitor = 0;
if (!fValid)
return;
Long64_t offset = 0;
Long64_t newOffset = 0;
TIter next(dset->GetListOfElements());
TDSetElement *el;
while ( (el = dynamic_cast<TDSetElement*> (next())) ) {
if (el->GetValid()) {
newOffset = offset + el->GetTDSetOffset();
el->SetTDSetOffset(offset);
offset = newOffset;
}
}
}
Int_t TPacketizerAdaptive::CalculatePacketSize(TObject *slStatPtr, Long64_t cachesz, Int_t learnent)
{
Long64_t num;
if (fStrategy == 0) {
Int_t nslaves = fSlaveStats->GetSize();
if (nslaves > 0) {
num = fTotalEntries / (fPacketAsAFraction * nslaves);
} else {
num = 1;
}
} else {
TSlaveStat* slstat = (TSlaveStat*)slStatPtr;
Float_t rate = slstat->GetCurRate();
if (!rate)
rate = slstat->GetAvgRate();
if (rate) {
Float_t avgProcRate = (GetEntriesProcessed()/(GetCumProcTime() / fSlaveStats->GetSize()));
Float_t packetTime = ((fTotalEntries - GetEntriesProcessed())/avgProcRate)/fPacketAsAFraction;
Float_t bevt = GetBytesRead() / GetEntriesProcessed();
Bool_t cpsync = fCachePacketSync;
if (fMaxEntriesRatio > 0. && cpsync) {
if (fFilesToProcess && fFilesToProcess->GetSize() <= fSlaveStats->GetSize()) {
Long64_t remEntries = fTotalEntries - GetEntriesProcessed();
Long64_t maxEntries = -1;
if (fFilesToProcess->Last()) {
TDSetElement *elem = (TDSetElement *) ((TPacketizerAdaptive::TFileStat *) fFilesToProcess->Last())->GetElement();
if (elem) maxEntries = elem->GetNum();
}
if (maxEntries > remEntries / fSlaveStats->GetSize() * fMaxEntriesRatio) {
PDB(kPacketizer,3) {
Info("CalculatePacketSize", "%s: switching off synchronization of packet and cache sizes:", slstat->GetOrdinal());
Info("CalculatePacketSize", "%s: few files (%d) remaining of very different sizes (max/avg = %.2f > %.2f)",
slstat->GetOrdinal(), fFilesToProcess->GetSize(),
(Double_t)maxEntries / remEntries * fSlaveStats->GetSize(), fMaxEntriesRatio);
}
cpsync = kFALSE;
}
}
}
if (cachesz > 0 && cpsync) {
if ((Long64_t)(rate * packetTime * bevt) < cachesz)
packetTime = cachesz / bevt / rate;
}
if (fMaxPacketTime > 0. && packetTime > fMaxPacketTime) packetTime = fMaxPacketTime;
if (fMinPacketTime > 0. && packetTime < fMinPacketTime) packetTime = fMinPacketTime;
num = (Long64_t)(rate * packetTime);
PDB(kPacketizer,2)
Info("CalculatePacketSize","%s: avgr: %f, rate: %f, left: %lld, pacT: %f, sz: %f (csz: %f), num: %lld",
slstat->GetOrdinal(), avgProcRate, rate, fTotalEntries - GetEntriesProcessed(),
packetTime, num*bevt/1048576., cachesz/1048576., num);
} else {
num = (learnent > 0) ? 5 * learnent : 1000;
PDB(kPacketizer,2)
Info("CalculatePacketSize","%s: num: %lld", slstat->GetOrdinal(), num);
}
}
if (num < 1) num = 1;
return num;
}
Int_t TPacketizerAdaptive::AddProcessed(TSlave *sl,
TProofProgressStatus *status,
Double_t latency,
TList **listOfMissingFiles)
{
TSlaveStat *slstat = (TSlaveStat*) fSlaveStats->GetValue( sl );
if (!slstat) {
Error("AddProcessed", "TSlaveStat instance for worker %s not found!",
(sl ? sl->GetName() : "**undef**"));
return -1;
}
if ( slstat->fCurElem != 0 ) {
Long64_t expectedNumEv = slstat->fCurElem->GetNum();
Long64_t numev;
if (status && status->GetEntries() > 0)
numev = status->GetEntries() - slstat->GetEntriesProcessed();
else
numev = 0;
TProofProgressStatus *progress = 0;
if (numev > 0) {
progress = slstat->AddProcessed(status);
if (progress) {
(*fProgressStatus) += *progress;
slstat->UpdateRates(status);
}
} else {
progress = new TProofProgressStatus();
}
if (progress) {
PDB(kPacketizer,2)
Info("GetNextPacket","worker-%s (%s): %lld %7.3lf %7.3lf %7.3lf %lld",
sl->GetOrdinal(), sl->GetName(), progress->GetEntries(), latency,
progress->GetProcTime(), progress->GetCPUTime(), progress->GetBytesRead());
if (gPerfStats)
gPerfStats->PacketEvent(sl->GetOrdinal(), sl->GetName(),
slstat->fCurElem->GetFileName(),
progress->GetEntries(),
latency,
progress->GetProcTime(),
progress->GetCPUTime(),
progress->GetBytesRead());
delete progress;
}
if (numev != expectedNumEv) {
TDSetElement *newPacket = new TDSetElement(*(slstat->fCurElem));
if (newPacket && numev < expectedNumEv) {
Long64_t first = newPacket->GetFirst();
newPacket->SetFirst(first + numev);
if (listOfMissingFiles && *listOfMissingFiles)
ReassignPacket(newPacket, listOfMissingFiles);
else
Error("AddProcessed", "No list for missing files!");
} else
Error("AddProcessed", "Processed too much? (%lld, %lld)", numev, expectedNumEv);
}
slstat->fCurElem = 0;
return (expectedNumEv - numev);
} else {
return -1;
}
}
TDSetElement *TPacketizerAdaptive::GetNextPacket(TSlave *sl, TMessage *r)
{
if ( !fValid ) {
return 0;
}
TSlaveStat *slstat = (TSlaveStat*) fSlaveStats->GetValue( sl );
if (!slstat) {
Error("GetNextPacket", "TSlaveStat instance for worker %s not found!",
(sl ? sl->GetName() : "**undef**"));
return 0;
}
TFileStat *file = slstat->fCurFile;
Bool_t firstPacket = kFALSE;
Long64_t cachesz = -1;
Int_t learnent = -1;
Long64_t totalEntries = 0;
if ( slstat->fCurElem != 0 ) {
Double_t latency, proctime, proccpu;
TProofProgressStatus *status = 0;
if (sl->GetProtocol() > 18) {
(*r) >> latency;
(*r) >> status;
if (sl->GetProtocol() > 25) {
(*r) >> cachesz >> learnent;
if (r->BufferSize() > r->Length()) (*r) >> totalEntries;
}
} else {
Long64_t bytesRead = -1;
(*r) >> latency >> proctime >> proccpu;
if (r->BufferSize() > r->Length()) (*r) >> bytesRead;
if (r->BufferSize() > r->Length()) (*r) >> totalEntries;
Long64_t totev = 0;
if (r->BufferSize() > r->Length()) (*r) >> totev;
status = new TProofProgressStatus(totev, bytesRead, -1, proctime, proccpu);
}
if (totalEntries >= 0) {
if (AddProcessed(sl, status, latency))
Error("GetNextPacket", "the worker processed a different # of entries");
if (fProgressStatus->GetEntries() >= fTotalEntries) {
if (fProgressStatus->GetEntries() > fTotalEntries)
Error("GetNextPacket", "Processed too many entries! (%lld, %lld)", fProgressStatus->GetEntries(), fTotalEntries);
HandleTimer(0);
SafeDelete(fProgress);
}
} else if (file && file->GetElement()) {
Info("GetNextPacket", "file '%s' could not be open: invalidating related element",
file->GetElement()->GetName());
file->GetElement()->Invalidate();
file->SetDone();
if (!fFailedPackets) fFailedPackets = new TList();
fFailedPackets->Add(file->GetElement());
}
} else {
firstPacket = kTRUE;
}
if ( fStop ) {
HandleTimer(0);
return 0;
}
TString nodeName;
if (file != 0) nodeName = file->GetNode()->GetName();
TString nodeHostName(slstat->GetName());
PDB(kPacketizer,3)
Info("GetNextPacket", "%s: looking for a packet from node '%s'", sl->GetOrdinal(), nodeName.Data());
if ( file != 0 && file->IsDone() ) {
file->GetNode()->DecExtSlaveCnt(slstat->GetName());
file->GetNode()->DecRunSlaveCnt();
if (gPerfStats)
gPerfStats->FileEvent(sl->GetOrdinal(), sl->GetName(), file->GetNode()->GetName(),
file->GetElement()->GetFileName(), kFALSE);
file = 0;
}
slstat->fCurFile = file;
Long64_t avgEventsLeftPerSlave =
(fTotalEntries - fProgressStatus->GetEntries()) / fSlaveStats->GetSize();
if (fTotalEntries == fProgressStatus->GetEntries())
return 0;
if ( file == 0) {
Bool_t openLocal;
Float_t localPreference = fBaseLocalPreference - (fNEventsOnRemLoc /
(0.4 *(fTotalEntries - fProgressStatus->GetEntries())));
if ( slstat->GetFileNode() != 0 ) {
fUnAllocated->Sort();
TFileNode* firstNonLocalNode = (TFileNode*)fUnAllocated->First();
Bool_t nonLocalNodePossible;
if (fForceLocal)
nonLocalNodePossible = 0;
else
nonLocalNodePossible = firstNonLocalNode ?
(fMaxSlaveCnt < 0 || (fMaxSlaveCnt > 0 && firstNonLocalNode->GetExtSlaveCnt() < fMaxSlaveCnt))
: 0;
openLocal = !nonLocalNodePossible;
Float_t slaveRate = slstat->GetAvgRate();
if ( nonLocalNodePossible && fStrategy == 1) {
if ( slstat->GetFileNode()->GetRunSlaveCnt() >
slstat->GetFileNode()->GetMySlaveCnt() - 1 )
openLocal = kTRUE;
else if ( slaveRate == 0 ) {
if ( slstat->GetLocalEventsLeft() * localPreference
> (avgEventsLeftPerSlave))
openLocal = kTRUE;
else if ( (firstNonLocalNode->GetEventsLeftPerSlave())
< slstat->GetLocalEventsLeft() * localPreference )
openLocal = kTRUE;
else if ( firstNonLocalNode->GetExtSlaveCnt() > 1 )
openLocal = kTRUE;
else if ( firstNonLocalNode->GetRunSlaveCnt() == 0 )
openLocal = kTRUE;
} else {
Float_t slaveTime = slstat->GetLocalEventsLeft()/slaveRate;
Float_t avgTime = avgEventsLeftPerSlave
/(fProgressStatus->GetEntries()/GetCumProcTime());
if (slaveTime * localPreference > avgTime)
openLocal = kTRUE;
else if ((firstNonLocalNode->GetEventsLeftPerSlave())
< slstat->GetLocalEventsLeft() * localPreference)
openLocal = kTRUE;
}
}
if (openLocal || fStrategy == 0) {
file = slstat->GetFileNode()->GetNextUnAlloc();
if (!file)
file = slstat->GetFileNode()->GetNextActive();
if ( file == 0 ) {
slstat->SetFileNode(0);
}
}
}
if(file == 0 && !fForceLocal) {
file = GetNextUnAlloc(0, nodeHostName);
}
if(file == 0 && !fForceLocal) {
file = GetNextActive();
}
if ( file == 0 ) return 0;
PDB(kPacketizer,3) if (fFilesToProcess) fFilesToProcess->Print();
slstat->fCurFile = file;
if (file->GetNode()->GetMySlaveCnt() == 0 &&
file->GetElement()->GetFirst() == file->GetNextEntry()) {
fNEventsOnRemLoc -= file->GetElement()->GetNum();
if (fNEventsOnRemLoc < 0) {
Error("GetNextPacket",
"inconsistent value for fNEventsOnRemLoc (%lld): stop delivering packets!",
fNEventsOnRemLoc);
return 0;
}
}
file->GetNode()->IncExtSlaveCnt(slstat->GetName());
file->GetNode()->IncRunSlaveCnt();
if (gPerfStats)
gPerfStats->FileEvent(sl->GetOrdinal(), sl->GetName(),
file->GetNode()->GetName(),
file->GetElement()->GetFileName(), kTRUE);
}
Long64_t num = CalculatePacketSize(slstat, cachesz, learnent);
TDSetElement *base = file->GetElement();
Long64_t first = file->GetNextEntry();
Long64_t last = base->GetFirst() + base->GetNum();
if ( first + num * 1.5 >= last ) {
num = last - first;
file->SetDone();
RemoveActive(file);
}
file->MoveNextEntry(num);
slstat->fCurElem = CreateNewPacket(base, first, num);
if (base->GetEntryList())
slstat->fCurElem->SetEntryList(base->GetEntryList(), first, num);
if (firstPacket)
slstat->fCurElem->SetBit(TDSetElement::kNewRun);
else
slstat->fCurElem->ResetBit(TDSetElement::kNewRun);
PDB(kPacketizer,2)
Info("GetNextPacket","%s: %s %lld %lld (%lld)", sl->GetOrdinal(), base->GetFileName(), first, first + num - 1, num);
return slstat->fCurElem;
}
Int_t TPacketizerAdaptive::GetActiveWorkers()
{
Int_t actw = 0;
TIter nxw(fSlaveStats);
TObject *key;
while ((key = nxw())) {
TSlaveStat *wrkstat = (TSlaveStat *) fSlaveStats->GetValue(key);
if (wrkstat && wrkstat->fCurFile) actw++;
}
return actw;
}
Float_t TPacketizerAdaptive::GetCurrentRate(Bool_t &all)
{
all = kTRUE;
Float_t currate = 0.;
if (fSlaveStats && fSlaveStats->GetSize() > 0) {
TIter nxw(fSlaveStats);
TObject *key;
while ((key = nxw()) != 0) {
TSlaveStat *slstat = (TSlaveStat *) fSlaveStats->GetValue(key);
if (slstat && slstat->GetProgressStatus() && slstat->GetEntriesProcessed() > 0) {
currate += slstat->GetProgressStatus()->GetCurrentRate();
} else {
all = kFALSE;
}
}
}
return currate;
}
Int_t TPacketizerAdaptive::GetEstEntriesProcessed(Float_t t, Long64_t &ent,
Long64_t &bytes, Long64_t &calls)
{
ent = GetEntriesProcessed();
bytes = GetBytesRead();
calls = GetReadCalls();
if (fUseEstOpt == kEstOff)
return 0;
Bool_t current = (fUseEstOpt == kEstCurrent) ? kTRUE : kFALSE;
TTime tnow = gSystem->Now();
Double_t now = (t > 0) ? (Double_t)t : Long64_t(tnow) / (Double_t)1000.;
Double_t dt = -1;
Bool_t all = kTRUE;
Float_t trate = 0.;
if (fSlaveStats && fSlaveStats->GetSize() > 0) {
ent = 0;
TIter nxw(fSlaveStats);
TObject *key;
while ((key = nxw()) != 0) {
TSlaveStat *slstat = (TSlaveStat *) fSlaveStats->GetValue(key);
if (slstat) {
Long64_t e = slstat->GetEntriesProcessed();
if (e <= 0) all = kFALSE;
dt = now - slstat->GetProgressStatus()->GetLastUpdate();
Float_t rate = (current && slstat->GetCurRate() > 0) ? slstat->GetCurRate()
: slstat->GetAvgRate();
trate += rate;
e += (Long64_t) (dt * rate);
ent += e;
PDB(kPacketizer,3)
Info("GetEstEntriesProcessed","%s: e:%lld rate:%f dt:%f e:%lld",
slstat->fSlave->GetOrdinal(),
slstat->GetEntriesProcessed(), rate, dt, e);
}
}
}
dt = now - fProgressStatus->GetLastUpdate();
PDB(kPacketizer,2)
Info("GetEstEntriesProcessed",
"dt: %f, estimated entries: %lld (%lld), bytes read: %lld rate: %f (all: %d)",
dt, ent, GetEntriesProcessed(), bytes, trate, all);
ent = (ent > 0) ? ent : fProgressStatus->GetEntries();
ent = (ent <= fTotalEntries) ? ent : fTotalEntries;
bytes = (bytes > 0) ? bytes : fProgressStatus->GetBytesRead();
return ((all) ? 0 : 1);
}
void TPacketizerAdaptive::MarkBad(TSlave *s, TProofProgressStatus *status,
TList **listOfMissingFiles)
{
TSlaveStat *slaveStat = (TSlaveStat *)(fSlaveStats->GetValue(s));
if (!slaveStat) {
Error("MarkBad", "Worker does not exist");
return;
}
if (slaveStat->fCurFile && slaveStat->fCurFile->GetNode()) {
slaveStat->fCurFile->GetNode()->DecExtSlaveCnt(slaveStat->GetName());
slaveStat->fCurFile->GetNode()->DecRunSlaveCnt();
}
if (!status) {
TList *subSet = slaveStat->GetProcessedSubSet();
if (subSet) {
if (slaveStat->fCurElem) {
subSet->Add(slaveStat->fCurElem);
}
Int_t nmg = 0, ntries = 100;
TDSetElement *e = 0, *enxt = 0;
do {
nmg = 0;
e = (TDSetElement *) subSet->First();
while ((enxt = (TDSetElement *) subSet->After(e))) {
if (e->MergeElement(enxt) >= 0) {
nmg++;
subSet->Remove(enxt);
delete enxt;
} else {
e = enxt;
}
}
} while (nmg > 0 && --ntries > 0);
SplitPerHost(subSet, listOfMissingFiles);
subSet->SetOwner(0);
} else {
Warning("MarkBad", "subset processed by bad worker not found!");
}
(*fProgressStatus) -= *(slaveStat->GetProgressStatus());
}
fSlaveStats->Remove(s);
delete slaveStat;
InitStats();
}
Int_t TPacketizerAdaptive::ReassignPacket(TDSetElement *e,
TList **listOfMissingFiles)
{
if (!e) {
Error("ReassignPacket", "Empty packet!");
return -1;
}
TUrl url = e->GetFileName();
TString host;
if ( !url.IsValid() ||
(strncmp(url.GetProtocol(),"root", 4) &&
strncmp(url.GetProtocol(),"rfio", 4))) {
host = "no-host";
} else {
host = url.GetHost();
}
TFileNode *node = (TFileNode*) fFileNodes->FindObject( host );
if (node) {
node->DecreaseProcessed(e->GetNum());
node->Add(e, kFALSE);
if (!fUnAllocated->FindObject(node))
fUnAllocated->Add(node);
return 0;
} else {
TFileInfo *fi = e->GetFileInfo();
if (listOfMissingFiles)
(*listOfMissingFiles)->Add((TObject *)fi);
return -1;
}
}
void TPacketizerAdaptive::SplitPerHost(TList *elements,
TList **listOfMissingFiles)
{
if (!elements) {
Error("SplitPerHost", "Empty list of packets!");
return;
}
if (elements->GetSize() <= 0) {
Error("SplitPerHost", "The input list contains no elements");
return;
}
TIter subSetIter(elements);
TDSetElement *e;
while ((e = (TDSetElement*) subSetIter.Next())) {
if (ReassignPacket(e, listOfMissingFiles) == -1) {
if (elements->Remove(e))
Error("SplitPerHost", "Error removing a missing file");
delete e;
}
}
}
TPacketizerAdaptive.cxx:1 TPacketizerAdaptive.cxx:2 TPacketizerAdaptive.cxx:3 TPacketizerAdaptive.cxx:4 TPacketizerAdaptive.cxx:5 TPacketizerAdaptive.cxx:6 TPacketizerAdaptive.cxx:7 TPacketizerAdaptive.cxx:8 TPacketizerAdaptive.cxx:9 TPacketizerAdaptive.cxx:10 TPacketizerAdaptive.cxx:11 TPacketizerAdaptive.cxx:12 TPacketizerAdaptive.cxx:13 TPacketizerAdaptive.cxx:14 TPacketizerAdaptive.cxx:15 TPacketizerAdaptive.cxx:16 TPacketizerAdaptive.cxx:17 TPacketizerAdaptive.cxx:18 TPacketizerAdaptive.cxx:19 TPacketizerAdaptive.cxx:20 TPacketizerAdaptive.cxx:21 TPacketizerAdaptive.cxx:22 TPacketizerAdaptive.cxx:23 TPacketizerAdaptive.cxx:24 TPacketizerAdaptive.cxx:25 TPacketizerAdaptive.cxx:26 TPacketizerAdaptive.cxx:27 TPacketizerAdaptive.cxx:28 TPacketizerAdaptive.cxx:29 TPacketizerAdaptive.cxx:30 TPacketizerAdaptive.cxx:31 TPacketizerAdaptive.cxx:32 TPacketizerAdaptive.cxx:33 TPacketizerAdaptive.cxx:34 TPacketizerAdaptive.cxx:35 TPacketizerAdaptive.cxx:36 TPacketizerAdaptive.cxx:37 TPacketizerAdaptive.cxx:38 TPacketizerAdaptive.cxx:39 TPacketizerAdaptive.cxx:40 TPacketizerAdaptive.cxx:41 TPacketizerAdaptive.cxx:42 TPacketizerAdaptive.cxx:43 TPacketizerAdaptive.cxx:44 TPacketizerAdaptive.cxx:45 TPacketizerAdaptive.cxx:46 TPacketizerAdaptive.cxx:47 TPacketizerAdaptive.cxx:48 TPacketizerAdaptive.cxx:49 TPacketizerAdaptive.cxx:50 TPacketizerAdaptive.cxx:51 TPacketizerAdaptive.cxx:52 TPacketizerAdaptive.cxx:53 TPacketizerAdaptive.cxx:54 TPacketizerAdaptive.cxx:55 TPacketizerAdaptive.cxx:56 TPacketizerAdaptive.cxx:57 TPacketizerAdaptive.cxx:58 TPacketizerAdaptive.cxx:59 TPacketizerAdaptive.cxx:60 TPacketizerAdaptive.cxx:61 TPacketizerAdaptive.cxx:62 TPacketizerAdaptive.cxx:63 TPacketizerAdaptive.cxx:64 TPacketizerAdaptive.cxx:65 TPacketizerAdaptive.cxx:66 TPacketizerAdaptive.cxx:67 TPacketizerAdaptive.cxx:68 TPacketizerAdaptive.cxx:69 TPacketizerAdaptive.cxx:70 TPacketizerAdaptive.cxx:71 TPacketizerAdaptive.cxx:72 TPacketizerAdaptive.cxx:73 TPacketizerAdaptive.cxx:74 TPacketizerAdaptive.cxx:75 TPacketizerAdaptive.cxx:76 TPacketizerAdaptive.cxx:77 TPacketizerAdaptive.cxx:78 TPacketizerAdaptive.cxx:79 TPacketizerAdaptive.cxx:80 TPacketizerAdaptive.cxx:81 TPacketizerAdaptive.cxx:82 TPacketizerAdaptive.cxx:83 TPacketizerAdaptive.cxx:84 TPacketizerAdaptive.cxx:85 TPacketizerAdaptive.cxx:86 TPacketizerAdaptive.cxx:87 TPacketizerAdaptive.cxx:88 TPacketizerAdaptive.cxx:89 TPacketizerAdaptive.cxx:90 TPacketizerAdaptive.cxx:91 TPacketizerAdaptive.cxx:92 TPacketizerAdaptive.cxx:93 TPacketizerAdaptive.cxx:94 TPacketizerAdaptive.cxx:95 TPacketizerAdaptive.cxx:96 TPacketizerAdaptive.cxx:97 TPacketizerAdaptive.cxx:98 TPacketizerAdaptive.cxx:99 TPacketizerAdaptive.cxx:100 TPacketizerAdaptive.cxx:101 TPacketizerAdaptive.cxx:102 TPacketizerAdaptive.cxx:103 TPacketizerAdaptive.cxx:104 TPacketizerAdaptive.cxx:105 TPacketizerAdaptive.cxx:106 TPacketizerAdaptive.cxx:107 TPacketizerAdaptive.cxx:108 TPacketizerAdaptive.cxx:109 TPacketizerAdaptive.cxx:110 TPacketizerAdaptive.cxx:111 TPacketizerAdaptive.cxx:112 TPacketizerAdaptive.cxx:113 TPacketizerAdaptive.cxx:114 TPacketizerAdaptive.cxx:115 TPacketizerAdaptive.cxx:116 TPacketizerAdaptive.cxx:117 TPacketizerAdaptive.cxx:118 TPacketizerAdaptive.cxx:119 TPacketizerAdaptive.cxx:120 TPacketizerAdaptive.cxx:121 TPacketizerAdaptive.cxx:122 TPacketizerAdaptive.cxx:123 TPacketizerAdaptive.cxx:124 TPacketizerAdaptive.cxx:125 TPacketizerAdaptive.cxx:126 TPacketizerAdaptive.cxx:127 TPacketizerAdaptive.cxx:128 TPacketizerAdaptive.cxx:129 TPacketizerAdaptive.cxx:130 TPacketizerAdaptive.cxx:131 TPacketizerAdaptive.cxx:132 TPacketizerAdaptive.cxx:133 TPacketizerAdaptive.cxx:134 TPacketizerAdaptive.cxx:135 TPacketizerAdaptive.cxx:136 TPacketizerAdaptive.cxx:137 TPacketizerAdaptive.cxx:138 TPacketizerAdaptive.cxx:139 TPacketizerAdaptive.cxx:140 TPacketizerAdaptive.cxx:141 TPacketizerAdaptive.cxx:142 TPacketizerAdaptive.cxx:143 TPacketizerAdaptive.cxx:144 TPacketizerAdaptive.cxx:145 TPacketizerAdaptive.cxx:146 TPacketizerAdaptive.cxx:147 TPacketizerAdaptive.cxx:148 TPacketizerAdaptive.cxx:149 TPacketizerAdaptive.cxx:150 TPacketizerAdaptive.cxx:151 TPacketizerAdaptive.cxx:152 TPacketizerAdaptive.cxx:153 TPacketizerAdaptive.cxx:154 TPacketizerAdaptive.cxx:155 TPacketizerAdaptive.cxx:156 TPacketizerAdaptive.cxx:157 TPacketizerAdaptive.cxx:158 TPacketizerAdaptive.cxx:159 TPacketizerAdaptive.cxx:160 TPacketizerAdaptive.cxx:161 TPacketizerAdaptive.cxx:162 TPacketizerAdaptive.cxx:163 TPacketizerAdaptive.cxx:164 TPacketizerAdaptive.cxx:165 TPacketizerAdaptive.cxx:166 TPacketizerAdaptive.cxx:167 TPacketizerAdaptive.cxx:168 TPacketizerAdaptive.cxx:169 TPacketizerAdaptive.cxx:170 TPacketizerAdaptive.cxx:171 TPacketizerAdaptive.cxx:172 TPacketizerAdaptive.cxx:173 TPacketizerAdaptive.cxx:174 TPacketizerAdaptive.cxx:175 TPacketizerAdaptive.cxx:176 TPacketizerAdaptive.cxx:177 TPacketizerAdaptive.cxx:178 TPacketizerAdaptive.cxx:179 TPacketizerAdaptive.cxx:180 TPacketizerAdaptive.cxx:181 TPacketizerAdaptive.cxx:182 TPacketizerAdaptive.cxx:183 TPacketizerAdaptive.cxx:184 TPacketizerAdaptive.cxx:185 TPacketizerAdaptive.cxx:186 TPacketizerAdaptive.cxx:187 TPacketizerAdaptive.cxx:188 TPacketizerAdaptive.cxx:189 TPacketizerAdaptive.cxx:190 TPacketizerAdaptive.cxx:191 TPacketizerAdaptive.cxx:192 TPacketizerAdaptive.cxx:193 TPacketizerAdaptive.cxx:194 TPacketizerAdaptive.cxx:195 TPacketizerAdaptive.cxx:196 TPacketizerAdaptive.cxx:197 TPacketizerAdaptive.cxx:198 TPacketizerAdaptive.cxx:199 TPacketizerAdaptive.cxx:200 TPacketizerAdaptive.cxx:201 TPacketizerAdaptive.cxx:202 TPacketizerAdaptive.cxx:203 TPacketizerAdaptive.cxx:204 TPacketizerAdaptive.cxx:205 TPacketizerAdaptive.cxx:206 TPacketizerAdaptive.cxx:207 TPacketizerAdaptive.cxx:208 TPacketizerAdaptive.cxx:209 TPacketizerAdaptive.cxx:210 TPacketizerAdaptive.cxx:211 TPacketizerAdaptive.cxx:212 TPacketizerAdaptive.cxx:213 TPacketizerAdaptive.cxx:214 TPacketizerAdaptive.cxx:215 TPacketizerAdaptive.cxx:216 TPacketizerAdaptive.cxx:217 TPacketizerAdaptive.cxx:218 TPacketizerAdaptive.cxx:219 TPacketizerAdaptive.cxx:220 TPacketizerAdaptive.cxx:221 TPacketizerAdaptive.cxx:222 TPacketizerAdaptive.cxx:223 TPacketizerAdaptive.cxx:224 TPacketizerAdaptive.cxx:225 TPacketizerAdaptive.cxx:226 TPacketizerAdaptive.cxx:227 TPacketizerAdaptive.cxx:228 TPacketizerAdaptive.cxx:229 TPacketizerAdaptive.cxx:230 TPacketizerAdaptive.cxx:231 TPacketizerAdaptive.cxx:232 TPacketizerAdaptive.cxx:233 TPacketizerAdaptive.cxx:234 TPacketizerAdaptive.cxx:235 TPacketizerAdaptive.cxx:236 TPacketizerAdaptive.cxx:237 TPacketizerAdaptive.cxx:238 TPacketizerAdaptive.cxx:239 TPacketizerAdaptive.cxx:240 TPacketizerAdaptive.cxx:241 TPacketizerAdaptive.cxx:242 TPacketizerAdaptive.cxx:243 TPacketizerAdaptive.cxx:244 TPacketizerAdaptive.cxx:245 TPacketizerAdaptive.cxx:246 TPacketizerAdaptive.cxx:247 TPacketizerAdaptive.cxx:248 TPacketizerAdaptive.cxx:249 TPacketizerAdaptive.cxx:250 TPacketizerAdaptive.cxx:251 TPacketizerAdaptive.cxx:252 TPacketizerAdaptive.cxx:253 TPacketizerAdaptive.cxx:254 TPacketizerAdaptive.cxx:255 TPacketizerAdaptive.cxx:256 TPacketizerAdaptive.cxx:257 TPacketizerAdaptive.cxx:258 TPacketizerAdaptive.cxx:259 TPacketizerAdaptive.cxx:260 TPacketizerAdaptive.cxx:261 TPacketizerAdaptive.cxx:262 TPacketizerAdaptive.cxx:263 TPacketizerAdaptive.cxx:264 TPacketizerAdaptive.cxx:265 TPacketizerAdaptive.cxx:266 TPacketizerAdaptive.cxx:267 TPacketizerAdaptive.cxx:268 TPacketizerAdaptive.cxx:269 TPacketizerAdaptive.cxx:270 TPacketizerAdaptive.cxx:271 TPacketizerAdaptive.cxx:272 TPacketizerAdaptive.cxx:273 TPacketizerAdaptive.cxx:274 TPacketizerAdaptive.cxx:275 TPacketizerAdaptive.cxx:276 TPacketizerAdaptive.cxx:277 TPacketizerAdaptive.cxx:278 TPacketizerAdaptive.cxx:279 TPacketizerAdaptive.cxx:280 TPacketizerAdaptive.cxx:281 TPacketizerAdaptive.cxx:282 TPacketizerAdaptive.cxx:283 TPacketizerAdaptive.cxx:284 TPacketizerAdaptive.cxx:285 TPacketizerAdaptive.cxx:286 TPacketizerAdaptive.cxx:287 TPacketizerAdaptive.cxx:288 TPacketizerAdaptive.cxx:289 TPacketizerAdaptive.cxx:290 TPacketizerAdaptive.cxx:291 TPacketizerAdaptive.cxx:292 TPacketizerAdaptive.cxx:293 TPacketizerAdaptive.cxx:294 TPacketizerAdaptive.cxx:295 TPacketizerAdaptive.cxx:296 TPacketizerAdaptive.cxx:297 TPacketizerAdaptive.cxx:298 TPacketizerAdaptive.cxx:299 TPacketizerAdaptive.cxx:300 TPacketizerAdaptive.cxx:301 TPacketizerAdaptive.cxx:302 TPacketizerAdaptive.cxx:303 TPacketizerAdaptive.cxx:304 TPacketizerAdaptive.cxx:305 TPacketizerAdaptive.cxx:306 TPacketizerAdaptive.cxx:307 TPacketizerAdaptive.cxx:308 TPacketizerAdaptive.cxx:309 TPacketizerAdaptive.cxx:310 TPacketizerAdaptive.cxx:311 TPacketizerAdaptive.cxx:312 TPacketizerAdaptive.cxx:313 TPacketizerAdaptive.cxx:314 TPacketizerAdaptive.cxx:315 TPacketizerAdaptive.cxx:316 TPacketizerAdaptive.cxx:317 TPacketizerAdaptive.cxx:318 TPacketizerAdaptive.cxx:319 TPacketizerAdaptive.cxx:320 TPacketizerAdaptive.cxx:321 TPacketizerAdaptive.cxx:322 TPacketizerAdaptive.cxx:323 TPacketizerAdaptive.cxx:324 TPacketizerAdaptive.cxx:325 TPacketizerAdaptive.cxx:326 TPacketizerAdaptive.cxx:327 TPacketizerAdaptive.cxx:328 TPacketizerAdaptive.cxx:329 TPacketizerAdaptive.cxx:330 TPacketizerAdaptive.cxx:331 TPacketizerAdaptive.cxx:332 TPacketizerAdaptive.cxx:333 TPacketizerAdaptive.cxx:334 TPacketizerAdaptive.cxx:335 TPacketizerAdaptive.cxx:336 TPacketizerAdaptive.cxx:337 TPacketizerAdaptive.cxx:338 TPacketizerAdaptive.cxx:339 TPacketizerAdaptive.cxx:340 TPacketizerAdaptive.cxx:341 TPacketizerAdaptive.cxx:342 TPacketizerAdaptive.cxx:343 TPacketizerAdaptive.cxx:344 TPacketizerAdaptive.cxx:345 TPacketizerAdaptive.cxx:346 TPacketizerAdaptive.cxx:347 TPacketizerAdaptive.cxx:348 TPacketizerAdaptive.cxx:349 TPacketizerAdaptive.cxx:350 TPacketizerAdaptive.cxx:351 TPacketizerAdaptive.cxx:352 TPacketizerAdaptive.cxx:353 TPacketizerAdaptive.cxx:354 TPacketizerAdaptive.cxx:355 TPacketizerAdaptive.cxx:356 TPacketizerAdaptive.cxx:357 TPacketizerAdaptive.cxx:358 TPacketizerAdaptive.cxx:359 TPacketizerAdaptive.cxx:360 TPacketizerAdaptive.cxx:361 TPacketizerAdaptive.cxx:362 TPacketizerAdaptive.cxx:363 TPacketizerAdaptive.cxx:364 TPacketizerAdaptive.cxx:365 TPacketizerAdaptive.cxx:366 TPacketizerAdaptive.cxx:367 TPacketizerAdaptive.cxx:368 TPacketizerAdaptive.cxx:369 TPacketizerAdaptive.cxx:370 TPacketizerAdaptive.cxx:371 TPacketizerAdaptive.cxx:372 TPacketizerAdaptive.cxx:373 TPacketizerAdaptive.cxx:374 TPacketizerAdaptive.cxx:375 TPacketizerAdaptive.cxx:376 TPacketizerAdaptive.cxx:377 TPacketizerAdaptive.cxx:378 TPacketizerAdaptive.cxx:379 TPacketizerAdaptive.cxx:380 TPacketizerAdaptive.cxx:381 TPacketizerAdaptive.cxx:382 TPacketizerAdaptive.cxx:383 TPacketizerAdaptive.cxx:384 TPacketizerAdaptive.cxx:385 TPacketizerAdaptive.cxx:386 TPacketizerAdaptive.cxx:387 TPacketizerAdaptive.cxx:388 TPacketizerAdaptive.cxx:389 TPacketizerAdaptive.cxx:390 TPacketizerAdaptive.cxx:391 TPacketizerAdaptive.cxx:392 TPacketizerAdaptive.cxx:393 TPacketizerAdaptive.cxx:394 TPacketizerAdaptive.cxx:395 TPacketizerAdaptive.cxx:396 TPacketizerAdaptive.cxx:397 TPacketizerAdaptive.cxx:398 TPacketizerAdaptive.cxx:399 TPacketizerAdaptive.cxx:400 TPacketizerAdaptive.cxx:401 TPacketizerAdaptive.cxx:402 TPacketizerAdaptive.cxx:403 TPacketizerAdaptive.cxx:404 TPacketizerAdaptive.cxx:405 TPacketizerAdaptive.cxx:406 TPacketizerAdaptive.cxx:407 TPacketizerAdaptive.cxx:408 TPacketizerAdaptive.cxx:409 TPacketizerAdaptive.cxx:410 TPacketizerAdaptive.cxx:411 TPacketizerAdaptive.cxx:412 TPacketizerAdaptive.cxx:413 TPacketizerAdaptive.cxx:414 TPacketizerAdaptive.cxx:415 TPacketizerAdaptive.cxx:416 TPacketizerAdaptive.cxx:417 TPacketizerAdaptive.cxx:418 TPacketizerAdaptive.cxx:419 TPacketizerAdaptive.cxx:420 TPacketizerAdaptive.cxx:421 TPacketizerAdaptive.cxx:422 TPacketizerAdaptive.cxx:423 TPacketizerAdaptive.cxx:424 TPacketizerAdaptive.cxx:425 TPacketizerAdaptive.cxx:426 TPacketizerAdaptive.cxx:427 TPacketizerAdaptive.cxx:428 TPacketizerAdaptive.cxx:429 TPacketizerAdaptive.cxx:430 TPacketizerAdaptive.cxx:431 TPacketizerAdaptive.cxx:432 TPacketizerAdaptive.cxx:433 TPacketizerAdaptive.cxx:434 TPacketizerAdaptive.cxx:435 TPacketizerAdaptive.cxx:436 TPacketizerAdaptive.cxx:437 TPacketizerAdaptive.cxx:438 TPacketizerAdaptive.cxx:439 TPacketizerAdaptive.cxx:440 TPacketizerAdaptive.cxx:441 TPacketizerAdaptive.cxx:442 TPacketizerAdaptive.cxx:443 TPacketizerAdaptive.cxx:444 TPacketizerAdaptive.cxx:445 TPacketizerAdaptive.cxx:446 TPacketizerAdaptive.cxx:447 TPacketizerAdaptive.cxx:448 TPacketizerAdaptive.cxx:449 TPacketizerAdaptive.cxx:450 TPacketizerAdaptive.cxx:451 TPacketizerAdaptive.cxx:452 TPacketizerAdaptive.cxx:453 TPacketizerAdaptive.cxx:454 TPacketizerAdaptive.cxx:455 TPacketizerAdaptive.cxx:456 TPacketizerAdaptive.cxx:457 TPacketizerAdaptive.cxx:458 TPacketizerAdaptive.cxx:459 TPacketizerAdaptive.cxx:460 TPacketizerAdaptive.cxx:461 TPacketizerAdaptive.cxx:462 TPacketizerAdaptive.cxx:463 TPacketizerAdaptive.cxx:464 TPacketizerAdaptive.cxx:465 TPacketizerAdaptive.cxx:466 TPacketizerAdaptive.cxx:467 TPacketizerAdaptive.cxx:468 TPacketizerAdaptive.cxx:469 TPacketizerAdaptive.cxx:470 TPacketizerAdaptive.cxx:471 TPacketizerAdaptive.cxx:472 TPacketizerAdaptive.cxx:473 TPacketizerAdaptive.cxx:474 TPacketizerAdaptive.cxx:475 TPacketizerAdaptive.cxx:476 TPacketizerAdaptive.cxx:477 TPacketizerAdaptive.cxx:478 TPacketizerAdaptive.cxx:479 TPacketizerAdaptive.cxx:480 TPacketizerAdaptive.cxx:481 TPacketizerAdaptive.cxx:482 TPacketizerAdaptive.cxx:483 TPacketizerAdaptive.cxx:484 TPacketizerAdaptive.cxx:485 TPacketizerAdaptive.cxx:486 TPacketizerAdaptive.cxx:487 TPacketizerAdaptive.cxx:488 TPacketizerAdaptive.cxx:489 TPacketizerAdaptive.cxx:490 TPacketizerAdaptive.cxx:491 TPacketizerAdaptive.cxx:492 TPacketizerAdaptive.cxx:493 TPacketizerAdaptive.cxx:494 TPacketizerAdaptive.cxx:495 TPacketizerAdaptive.cxx:496 TPacketizerAdaptive.cxx:497 TPacketizerAdaptive.cxx:498 TPacketizerAdaptive.cxx:499 TPacketizerAdaptive.cxx:500 TPacketizerAdaptive.cxx:501 TPacketizerAdaptive.cxx:502 TPacketizerAdaptive.cxx:503 TPacketizerAdaptive.cxx:504 TPacketizerAdaptive.cxx:505 TPacketizerAdaptive.cxx:506 TPacketizerAdaptive.cxx:507 TPacketizerAdaptive.cxx:508 TPacketizerAdaptive.cxx:509 TPacketizerAdaptive.cxx:510 TPacketizerAdaptive.cxx:511 TPacketizerAdaptive.cxx:512 TPacketizerAdaptive.cxx:513 TPacketizerAdaptive.cxx:514 TPacketizerAdaptive.cxx:515 TPacketizerAdaptive.cxx:516 TPacketizerAdaptive.cxx:517 TPacketizerAdaptive.cxx:518 TPacketizerAdaptive.cxx:519 TPacketizerAdaptive.cxx:520 TPacketizerAdaptive.cxx:521 TPacketizerAdaptive.cxx:522 TPacketizerAdaptive.cxx:523 TPacketizerAdaptive.cxx:524 TPacketizerAdaptive.cxx:525 TPacketizerAdaptive.cxx:526 TPacketizerAdaptive.cxx:527 TPacketizerAdaptive.cxx:528 TPacketizerAdaptive.cxx:529 TPacketizerAdaptive.cxx:530 TPacketizerAdaptive.cxx:531 TPacketizerAdaptive.cxx:532 TPacketizerAdaptive.cxx:533 TPacketizerAdaptive.cxx:534 TPacketizerAdaptive.cxx:535 TPacketizerAdaptive.cxx:536 TPacketizerAdaptive.cxx:537 TPacketizerAdaptive.cxx:538 TPacketizerAdaptive.cxx:539 TPacketizerAdaptive.cxx:540 TPacketizerAdaptive.cxx:541 TPacketizerAdaptive.cxx:542 TPacketizerAdaptive.cxx:543 TPacketizerAdaptive.cxx:544 TPacketizerAdaptive.cxx:545 TPacketizerAdaptive.cxx:546 TPacketizerAdaptive.cxx:547 TPacketizerAdaptive.cxx:548 TPacketizerAdaptive.cxx:549 TPacketizerAdaptive.cxx:550 TPacketizerAdaptive.cxx:551 TPacketizerAdaptive.cxx:552 TPacketizerAdaptive.cxx:553 TPacketizerAdaptive.cxx:554 TPacketizerAdaptive.cxx:555 TPacketizerAdaptive.cxx:556 TPacketizerAdaptive.cxx:557 TPacketizerAdaptive.cxx:558 TPacketizerAdaptive.cxx:559 TPacketizerAdaptive.cxx:560 TPacketizerAdaptive.cxx:561 TPacketizerAdaptive.cxx:562 TPacketizerAdaptive.cxx:563 TPacketizerAdaptive.cxx:564 TPacketizerAdaptive.cxx:565 TPacketizerAdaptive.cxx:566 TPacketizerAdaptive.cxx:567 TPacketizerAdaptive.cxx:568 TPacketizerAdaptive.cxx:569 TPacketizerAdaptive.cxx:570 TPacketizerAdaptive.cxx:571 TPacketizerAdaptive.cxx:572 TPacketizerAdaptive.cxx:573 TPacketizerAdaptive.cxx:574 TPacketizerAdaptive.cxx:575 TPacketizerAdaptive.cxx:576 TPacketizerAdaptive.cxx:577 TPacketizerAdaptive.cxx:578 TPacketizerAdaptive.cxx:579 TPacketizerAdaptive.cxx:580 TPacketizerAdaptive.cxx:581 TPacketizerAdaptive.cxx:582 TPacketizerAdaptive.cxx:583 TPacketizerAdaptive.cxx:584 TPacketizerAdaptive.cxx:585 TPacketizerAdaptive.cxx:586 TPacketizerAdaptive.cxx:587 TPacketizerAdaptive.cxx:588 TPacketizerAdaptive.cxx:589 TPacketizerAdaptive.cxx:590 TPacketizerAdaptive.cxx:591 TPacketizerAdaptive.cxx:592 TPacketizerAdaptive.cxx:593 TPacketizerAdaptive.cxx:594 TPacketizerAdaptive.cxx:595 TPacketizerAdaptive.cxx:596 TPacketizerAdaptive.cxx:597 TPacketizerAdaptive.cxx:598 TPacketizerAdaptive.cxx:599 TPacketizerAdaptive.cxx:600 TPacketizerAdaptive.cxx:601 TPacketizerAdaptive.cxx:602 TPacketizerAdaptive.cxx:603 TPacketizerAdaptive.cxx:604 TPacketizerAdaptive.cxx:605 TPacketizerAdaptive.cxx:606 TPacketizerAdaptive.cxx:607 TPacketizerAdaptive.cxx:608 TPacketizerAdaptive.cxx:609 TPacketizerAdaptive.cxx:610 TPacketizerAdaptive.cxx:611 TPacketizerAdaptive.cxx:612 TPacketizerAdaptive.cxx:613 TPacketizerAdaptive.cxx:614 TPacketizerAdaptive.cxx:615 TPacketizerAdaptive.cxx:616 TPacketizerAdaptive.cxx:617 TPacketizerAdaptive.cxx:618 TPacketizerAdaptive.cxx:619 TPacketizerAdaptive.cxx:620 TPacketizerAdaptive.cxx:621 TPacketizerAdaptive.cxx:622 TPacketizerAdaptive.cxx:623 TPacketizerAdaptive.cxx:624 TPacketizerAdaptive.cxx:625 TPacketizerAdaptive.cxx:626 TPacketizerAdaptive.cxx:627 TPacketizerAdaptive.cxx:628 TPacketizerAdaptive.cxx:629 TPacketizerAdaptive.cxx:630 TPacketizerAdaptive.cxx:631 TPacketizerAdaptive.cxx:632 TPacketizerAdaptive.cxx:633 TPacketizerAdaptive.cxx:634 TPacketizerAdaptive.cxx:635 TPacketizerAdaptive.cxx:636 TPacketizerAdaptive.cxx:637 TPacketizerAdaptive.cxx:638 TPacketizerAdaptive.cxx:639 TPacketizerAdaptive.cxx:640 TPacketizerAdaptive.cxx:641 TPacketizerAdaptive.cxx:642 TPacketizerAdaptive.cxx:643 TPacketizerAdaptive.cxx:644 TPacketizerAdaptive.cxx:645 TPacketizerAdaptive.cxx:646 TPacketizerAdaptive.cxx:647 TPacketizerAdaptive.cxx:648 TPacketizerAdaptive.cxx:649 TPacketizerAdaptive.cxx:650 TPacketizerAdaptive.cxx:651 TPacketizerAdaptive.cxx:652 TPacketizerAdaptive.cxx:653 TPacketizerAdaptive.cxx:654 TPacketizerAdaptive.cxx:655 TPacketizerAdaptive.cxx:656 TPacketizerAdaptive.cxx:657 TPacketizerAdaptive.cxx:658 TPacketizerAdaptive.cxx:659 TPacketizerAdaptive.cxx:660 TPacketizerAdaptive.cxx:661 TPacketizerAdaptive.cxx:662 TPacketizerAdaptive.cxx:663 TPacketizerAdaptive.cxx:664 TPacketizerAdaptive.cxx:665 TPacketizerAdaptive.cxx:666 TPacketizerAdaptive.cxx:667 TPacketizerAdaptive.cxx:668 TPacketizerAdaptive.cxx:669 TPacketizerAdaptive.cxx:670 TPacketizerAdaptive.cxx:671 TPacketizerAdaptive.cxx:672 TPacketizerAdaptive.cxx:673 TPacketizerAdaptive.cxx:674 TPacketizerAdaptive.cxx:675 TPacketizerAdaptive.cxx:676 TPacketizerAdaptive.cxx:677 TPacketizerAdaptive.cxx:678 TPacketizerAdaptive.cxx:679 TPacketizerAdaptive.cxx:680 TPacketizerAdaptive.cxx:681 TPacketizerAdaptive.cxx:682 TPacketizerAdaptive.cxx:683 TPacketizerAdaptive.cxx:684 TPacketizerAdaptive.cxx:685 TPacketizerAdaptive.cxx:686 TPacketizerAdaptive.cxx:687 TPacketizerAdaptive.cxx:688 TPacketizerAdaptive.cxx:689 TPacketizerAdaptive.cxx:690 TPacketizerAdaptive.cxx:691 TPacketizerAdaptive.cxx:692 TPacketizerAdaptive.cxx:693 TPacketizerAdaptive.cxx:694 TPacketizerAdaptive.cxx:695 TPacketizerAdaptive.cxx:696 TPacketizerAdaptive.cxx:697 TPacketizerAdaptive.cxx:698 TPacketizerAdaptive.cxx:699 TPacketizerAdaptive.cxx:700 TPacketizerAdaptive.cxx:701 TPacketizerAdaptive.cxx:702 TPacketizerAdaptive.cxx:703 TPacketizerAdaptive.cxx:704 TPacketizerAdaptive.cxx:705 TPacketizerAdaptive.cxx:706 TPacketizerAdaptive.cxx:707 TPacketizerAdaptive.cxx:708 TPacketizerAdaptive.cxx:709 TPacketizerAdaptive.cxx:710 TPacketizerAdaptive.cxx:711 TPacketizerAdaptive.cxx:712 TPacketizerAdaptive.cxx:713 TPacketizerAdaptive.cxx:714 TPacketizerAdaptive.cxx:715 TPacketizerAdaptive.cxx:716 TPacketizerAdaptive.cxx:717 TPacketizerAdaptive.cxx:718 TPacketizerAdaptive.cxx:719 TPacketizerAdaptive.cxx:720 TPacketizerAdaptive.cxx:721 TPacketizerAdaptive.cxx:722 TPacketizerAdaptive.cxx:723 TPacketizerAdaptive.cxx:724 TPacketizerAdaptive.cxx:725 TPacketizerAdaptive.cxx:726 TPacketizerAdaptive.cxx:727 TPacketizerAdaptive.cxx:728 TPacketizerAdaptive.cxx:729 TPacketizerAdaptive.cxx:730 TPacketizerAdaptive.cxx:731 TPacketizerAdaptive.cxx:732 TPacketizerAdaptive.cxx:733 TPacketizerAdaptive.cxx:734 TPacketizerAdaptive.cxx:735 TPacketizerAdaptive.cxx:736 TPacketizerAdaptive.cxx:737 TPacketizerAdaptive.cxx:738 TPacketizerAdaptive.cxx:739 TPacketizerAdaptive.cxx:740 TPacketizerAdaptive.cxx:741 TPacketizerAdaptive.cxx:742 TPacketizerAdaptive.cxx:743 TPacketizerAdaptive.cxx:744 TPacketizerAdaptive.cxx:745 TPacketizerAdaptive.cxx:746 TPacketizerAdaptive.cxx:747 TPacketizerAdaptive.cxx:748 TPacketizerAdaptive.cxx:749 TPacketizerAdaptive.cxx:750 TPacketizerAdaptive.cxx:751 TPacketizerAdaptive.cxx:752 TPacketizerAdaptive.cxx:753 TPacketizerAdaptive.cxx:754 TPacketizerAdaptive.cxx:755 TPacketizerAdaptive.cxx:756 TPacketizerAdaptive.cxx:757 TPacketizerAdaptive.cxx:758 TPacketizerAdaptive.cxx:759 TPacketizerAdaptive.cxx:760 TPacketizerAdaptive.cxx:761 TPacketizerAdaptive.cxx:762 TPacketizerAdaptive.cxx:763 TPacketizerAdaptive.cxx:764 TPacketizerAdaptive.cxx:765 TPacketizerAdaptive.cxx:766 TPacketizerAdaptive.cxx:767 TPacketizerAdaptive.cxx:768 TPacketizerAdaptive.cxx:769 TPacketizerAdaptive.cxx:770 TPacketizerAdaptive.cxx:771 TPacketizerAdaptive.cxx:772 TPacketizerAdaptive.cxx:773 TPacketizerAdaptive.cxx:774 TPacketizerAdaptive.cxx:775 TPacketizerAdaptive.cxx:776 TPacketizerAdaptive.cxx:777 TPacketizerAdaptive.cxx:778 TPacketizerAdaptive.cxx:779 TPacketizerAdaptive.cxx:780 TPacketizerAdaptive.cxx:781 TPacketizerAdaptive.cxx:782 TPacketizerAdaptive.cxx:783 TPacketizerAdaptive.cxx:784 TPacketizerAdaptive.cxx:785 TPacketizerAdaptive.cxx:786 TPacketizerAdaptive.cxx:787 TPacketizerAdaptive.cxx:788 TPacketizerAdaptive.cxx:789 TPacketizerAdaptive.cxx:790 TPacketizerAdaptive.cxx:791 TPacketizerAdaptive.cxx:792 TPacketizerAdaptive.cxx:793 TPacketizerAdaptive.cxx:794 TPacketizerAdaptive.cxx:795 TPacketizerAdaptive.cxx:796 TPacketizerAdaptive.cxx:797 TPacketizerAdaptive.cxx:798 TPacketizerAdaptive.cxx:799 TPacketizerAdaptive.cxx:800 TPacketizerAdaptive.cxx:801 TPacketizerAdaptive.cxx:802 TPacketizerAdaptive.cxx:803 TPacketizerAdaptive.cxx:804 TPacketizerAdaptive.cxx:805 TPacketizerAdaptive.cxx:806 TPacketizerAdaptive.cxx:807 TPacketizerAdaptive.cxx:808 TPacketizerAdaptive.cxx:809 TPacketizerAdaptive.cxx:810 TPacketizerAdaptive.cxx:811 TPacketizerAdaptive.cxx:812 TPacketizerAdaptive.cxx:813 TPacketizerAdaptive.cxx:814 TPacketizerAdaptive.cxx:815 TPacketizerAdaptive.cxx:816 TPacketizerAdaptive.cxx:817 TPacketizerAdaptive.cxx:818 TPacketizerAdaptive.cxx:819 TPacketizerAdaptive.cxx:820 TPacketizerAdaptive.cxx:821 TPacketizerAdaptive.cxx:822 TPacketizerAdaptive.cxx:823 TPacketizerAdaptive.cxx:824 TPacketizerAdaptive.cxx:825 TPacketizerAdaptive.cxx:826 TPacketizerAdaptive.cxx:827 TPacketizerAdaptive.cxx:828 TPacketizerAdaptive.cxx:829 TPacketizerAdaptive.cxx:830 TPacketizerAdaptive.cxx:831 TPacketizerAdaptive.cxx:832 TPacketizerAdaptive.cxx:833 TPacketizerAdaptive.cxx:834 TPacketizerAdaptive.cxx:835 TPacketizerAdaptive.cxx:836 TPacketizerAdaptive.cxx:837 TPacketizerAdaptive.cxx:838 TPacketizerAdaptive.cxx:839 TPacketizerAdaptive.cxx:840 TPacketizerAdaptive.cxx:841 TPacketizerAdaptive.cxx:842 TPacketizerAdaptive.cxx:843 TPacketizerAdaptive.cxx:844 TPacketizerAdaptive.cxx:845 TPacketizerAdaptive.cxx:846 TPacketizerAdaptive.cxx:847 TPacketizerAdaptive.cxx:848 TPacketizerAdaptive.cxx:849 TPacketizerAdaptive.cxx:850 TPacketizerAdaptive.cxx:851 TPacketizerAdaptive.cxx:852 TPacketizerAdaptive.cxx:853 TPacketizerAdaptive.cxx:854 TPacketizerAdaptive.cxx:855 TPacketizerAdaptive.cxx:856 TPacketizerAdaptive.cxx:857 TPacketizerAdaptive.cxx:858 TPacketizerAdaptive.cxx:859 TPacketizerAdaptive.cxx:860 TPacketizerAdaptive.cxx:861 TPacketizerAdaptive.cxx:862 TPacketizerAdaptive.cxx:863 TPacketizerAdaptive.cxx:864 TPacketizerAdaptive.cxx:865 TPacketizerAdaptive.cxx:866 TPacketizerAdaptive.cxx:867 TPacketizerAdaptive.cxx:868 TPacketizerAdaptive.cxx:869 TPacketizerAdaptive.cxx:870 TPacketizerAdaptive.cxx:871 TPacketizerAdaptive.cxx:872 TPacketizerAdaptive.cxx:873 TPacketizerAdaptive.cxx:874 TPacketizerAdaptive.cxx:875 TPacketizerAdaptive.cxx:876 TPacketizerAdaptive.cxx:877 TPacketizerAdaptive.cxx:878 TPacketizerAdaptive.cxx:879 TPacketizerAdaptive.cxx:880 TPacketizerAdaptive.cxx:881 TPacketizerAdaptive.cxx:882 TPacketizerAdaptive.cxx:883 TPacketizerAdaptive.cxx:884 TPacketizerAdaptive.cxx:885 TPacketizerAdaptive.cxx:886 TPacketizerAdaptive.cxx:887 TPacketizerAdaptive.cxx:888 TPacketizerAdaptive.cxx:889 TPacketizerAdaptive.cxx:890 TPacketizerAdaptive.cxx:891 TPacketizerAdaptive.cxx:892 TPacketizerAdaptive.cxx:893 TPacketizerAdaptive.cxx:894 TPacketizerAdaptive.cxx:895 TPacketizerAdaptive.cxx:896 TPacketizerAdaptive.cxx:897 TPacketizerAdaptive.cxx:898 TPacketizerAdaptive.cxx:899 TPacketizerAdaptive.cxx:900 TPacketizerAdaptive.cxx:901 TPacketizerAdaptive.cxx:902 TPacketizerAdaptive.cxx:903 TPacketizerAdaptive.cxx:904 TPacketizerAdaptive.cxx:905 TPacketizerAdaptive.cxx:906 TPacketizerAdaptive.cxx:907 TPacketizerAdaptive.cxx:908 TPacketizerAdaptive.cxx:909 TPacketizerAdaptive.cxx:910 TPacketizerAdaptive.cxx:911 TPacketizerAdaptive.cxx:912 TPacketizerAdaptive.cxx:913 TPacketizerAdaptive.cxx:914 TPacketizerAdaptive.cxx:915 TPacketizerAdaptive.cxx:916 TPacketizerAdaptive.cxx:917 TPacketizerAdaptive.cxx:918 TPacketizerAdaptive.cxx:919 TPacketizerAdaptive.cxx:920 TPacketizerAdaptive.cxx:921 TPacketizerAdaptive.cxx:922 TPacketizerAdaptive.cxx:923 TPacketizerAdaptive.cxx:924 TPacketizerAdaptive.cxx:925 TPacketizerAdaptive.cxx:926 TPacketizerAdaptive.cxx:927 TPacketizerAdaptive.cxx:928 TPacketizerAdaptive.cxx:929 TPacketizerAdaptive.cxx:930 TPacketizerAdaptive.cxx:931 TPacketizerAdaptive.cxx:932 TPacketizerAdaptive.cxx:933 TPacketizerAdaptive.cxx:934 TPacketizerAdaptive.cxx:935 TPacketizerAdaptive.cxx:936 TPacketizerAdaptive.cxx:937 TPacketizerAdaptive.cxx:938 TPacketizerAdaptive.cxx:939 TPacketizerAdaptive.cxx:940 TPacketizerAdaptive.cxx:941 TPacketizerAdaptive.cxx:942 TPacketizerAdaptive.cxx:943 TPacketizerAdaptive.cxx:944 TPacketizerAdaptive.cxx:945 TPacketizerAdaptive.cxx:946 TPacketizerAdaptive.cxx:947 TPacketizerAdaptive.cxx:948 TPacketizerAdaptive.cxx:949 TPacketizerAdaptive.cxx:950 TPacketizerAdaptive.cxx:951 TPacketizerAdaptive.cxx:952 TPacketizerAdaptive.cxx:953 TPacketizerAdaptive.cxx:954 TPacketizerAdaptive.cxx:955 TPacketizerAdaptive.cxx:956 TPacketizerAdaptive.cxx:957 TPacketizerAdaptive.cxx:958 TPacketizerAdaptive.cxx:959 TPacketizerAdaptive.cxx:960 TPacketizerAdaptive.cxx:961 TPacketizerAdaptive.cxx:962 TPacketizerAdaptive.cxx:963 TPacketizerAdaptive.cxx:964 TPacketizerAdaptive.cxx:965 TPacketizerAdaptive.cxx:966 TPacketizerAdaptive.cxx:967 TPacketizerAdaptive.cxx:968 TPacketizerAdaptive.cxx:969 TPacketizerAdaptive.cxx:970 TPacketizerAdaptive.cxx:971 TPacketizerAdaptive.cxx:972 TPacketizerAdaptive.cxx:973 TPacketizerAdaptive.cxx:974 TPacketizerAdaptive.cxx:975 TPacketizerAdaptive.cxx:976 TPacketizerAdaptive.cxx:977 TPacketizerAdaptive.cxx:978 TPacketizerAdaptive.cxx:979 TPacketizerAdaptive.cxx:980 TPacketizerAdaptive.cxx:981 TPacketizerAdaptive.cxx:982 TPacketizerAdaptive.cxx:983 TPacketizerAdaptive.cxx:984 TPacketizerAdaptive.cxx:985 TPacketizerAdaptive.cxx:986 TPacketizerAdaptive.cxx:987 TPacketizerAdaptive.cxx:988 TPacketizerAdaptive.cxx:989 TPacketizerAdaptive.cxx:990 TPacketizerAdaptive.cxx:991 TPacketizerAdaptive.cxx:992 TPacketizerAdaptive.cxx:993 TPacketizerAdaptive.cxx:994 TPacketizerAdaptive.cxx:995 TPacketizerAdaptive.cxx:996 TPacketizerAdaptive.cxx:997 TPacketizerAdaptive.cxx:998 TPacketizerAdaptive.cxx:999 TPacketizerAdaptive.cxx:1000 TPacketizerAdaptive.cxx:1001 TPacketizerAdaptive.cxx:1002 TPacketizerAdaptive.cxx:1003 TPacketizerAdaptive.cxx:1004 TPacketizerAdaptive.cxx:1005 TPacketizerAdaptive.cxx:1006 TPacketizerAdaptive.cxx:1007 TPacketizerAdaptive.cxx:1008 TPacketizerAdaptive.cxx:1009 TPacketizerAdaptive.cxx:1010 TPacketizerAdaptive.cxx:1011 TPacketizerAdaptive.cxx:1012 TPacketizerAdaptive.cxx:1013 TPacketizerAdaptive.cxx:1014 TPacketizerAdaptive.cxx:1015 TPacketizerAdaptive.cxx:1016 TPacketizerAdaptive.cxx:1017 TPacketizerAdaptive.cxx:1018 TPacketizerAdaptive.cxx:1019 TPacketizerAdaptive.cxx:1020 TPacketizerAdaptive.cxx:1021 TPacketizerAdaptive.cxx:1022 TPacketizerAdaptive.cxx:1023 TPacketizerAdaptive.cxx:1024 TPacketizerAdaptive.cxx:1025 TPacketizerAdaptive.cxx:1026 TPacketizerAdaptive.cxx:1027 TPacketizerAdaptive.cxx:1028 TPacketizerAdaptive.cxx:1029 TPacketizerAdaptive.cxx:1030 TPacketizerAdaptive.cxx:1031 TPacketizerAdaptive.cxx:1032 TPacketizerAdaptive.cxx:1033 TPacketizerAdaptive.cxx:1034 TPacketizerAdaptive.cxx:1035 TPacketizerAdaptive.cxx:1036 TPacketizerAdaptive.cxx:1037 TPacketizerAdaptive.cxx:1038 TPacketizerAdaptive.cxx:1039 TPacketizerAdaptive.cxx:1040 TPacketizerAdaptive.cxx:1041 TPacketizerAdaptive.cxx:1042 TPacketizerAdaptive.cxx:1043 TPacketizerAdaptive.cxx:1044 TPacketizerAdaptive.cxx:1045 TPacketizerAdaptive.cxx:1046 TPacketizerAdaptive.cxx:1047 TPacketizerAdaptive.cxx:1048 TPacketizerAdaptive.cxx:1049 TPacketizerAdaptive.cxx:1050 TPacketizerAdaptive.cxx:1051 TPacketizerAdaptive.cxx:1052 TPacketizerAdaptive.cxx:1053 TPacketizerAdaptive.cxx:1054 TPacketizerAdaptive.cxx:1055 TPacketizerAdaptive.cxx:1056 TPacketizerAdaptive.cxx:1057 TPacketizerAdaptive.cxx:1058 TPacketizerAdaptive.cxx:1059 TPacketizerAdaptive.cxx:1060 TPacketizerAdaptive.cxx:1061 TPacketizerAdaptive.cxx:1062 TPacketizerAdaptive.cxx:1063 TPacketizerAdaptive.cxx:1064 TPacketizerAdaptive.cxx:1065 TPacketizerAdaptive.cxx:1066 TPacketizerAdaptive.cxx:1067 TPacketizerAdaptive.cxx:1068 TPacketizerAdaptive.cxx:1069 TPacketizerAdaptive.cxx:1070 TPacketizerAdaptive.cxx:1071 TPacketizerAdaptive.cxx:1072 TPacketizerAdaptive.cxx:1073 TPacketizerAdaptive.cxx:1074 TPacketizerAdaptive.cxx:1075 TPacketizerAdaptive.cxx:1076 TPacketizerAdaptive.cxx:1077 TPacketizerAdaptive.cxx:1078 TPacketizerAdaptive.cxx:1079 TPacketizerAdaptive.cxx:1080 TPacketizerAdaptive.cxx:1081 TPacketizerAdaptive.cxx:1082 TPacketizerAdaptive.cxx:1083 TPacketizerAdaptive.cxx:1084 TPacketizerAdaptive.cxx:1085 TPacketizerAdaptive.cxx:1086 TPacketizerAdaptive.cxx:1087 TPacketizerAdaptive.cxx:1088 TPacketizerAdaptive.cxx:1089 TPacketizerAdaptive.cxx:1090 TPacketizerAdaptive.cxx:1091 TPacketizerAdaptive.cxx:1092 TPacketizerAdaptive.cxx:1093 TPacketizerAdaptive.cxx:1094 TPacketizerAdaptive.cxx:1095 TPacketizerAdaptive.cxx:1096 TPacketizerAdaptive.cxx:1097 TPacketizerAdaptive.cxx:1098 TPacketizerAdaptive.cxx:1099 TPacketizerAdaptive.cxx:1100 TPacketizerAdaptive.cxx:1101 TPacketizerAdaptive.cxx:1102 TPacketizerAdaptive.cxx:1103 TPacketizerAdaptive.cxx:1104 TPacketizerAdaptive.cxx:1105 TPacketizerAdaptive.cxx:1106 TPacketizerAdaptive.cxx:1107 TPacketizerAdaptive.cxx:1108 TPacketizerAdaptive.cxx:1109 TPacketizerAdaptive.cxx:1110 TPacketizerAdaptive.cxx:1111 TPacketizerAdaptive.cxx:1112 TPacketizerAdaptive.cxx:1113 TPacketizerAdaptive.cxx:1114 TPacketizerAdaptive.cxx:1115 TPacketizerAdaptive.cxx:1116 TPacketizerAdaptive.cxx:1117 TPacketizerAdaptive.cxx:1118 TPacketizerAdaptive.cxx:1119 TPacketizerAdaptive.cxx:1120 TPacketizerAdaptive.cxx:1121 TPacketizerAdaptive.cxx:1122 TPacketizerAdaptive.cxx:1123 TPacketizerAdaptive.cxx:1124 TPacketizerAdaptive.cxx:1125 TPacketizerAdaptive.cxx:1126 TPacketizerAdaptive.cxx:1127 TPacketizerAdaptive.cxx:1128 TPacketizerAdaptive.cxx:1129 TPacketizerAdaptive.cxx:1130 TPacketizerAdaptive.cxx:1131 TPacketizerAdaptive.cxx:1132 TPacketizerAdaptive.cxx:1133 TPacketizerAdaptive.cxx:1134 TPacketizerAdaptive.cxx:1135 TPacketizerAdaptive.cxx:1136 TPacketizerAdaptive.cxx:1137 TPacketizerAdaptive.cxx:1138 TPacketizerAdaptive.cxx:1139 TPacketizerAdaptive.cxx:1140 TPacketizerAdaptive.cxx:1141 TPacketizerAdaptive.cxx:1142 TPacketizerAdaptive.cxx:1143 TPacketizerAdaptive.cxx:1144 TPacketizerAdaptive.cxx:1145 TPacketizerAdaptive.cxx:1146 TPacketizerAdaptive.cxx:1147 TPacketizerAdaptive.cxx:1148 TPacketizerAdaptive.cxx:1149 TPacketizerAdaptive.cxx:1150 TPacketizerAdaptive.cxx:1151 TPacketizerAdaptive.cxx:1152 TPacketizerAdaptive.cxx:1153 TPacketizerAdaptive.cxx:1154 TPacketizerAdaptive.cxx:1155 TPacketizerAdaptive.cxx:1156 TPacketizerAdaptive.cxx:1157 TPacketizerAdaptive.cxx:1158 TPacketizerAdaptive.cxx:1159 TPacketizerAdaptive.cxx:1160 TPacketizerAdaptive.cxx:1161 TPacketizerAdaptive.cxx:1162 TPacketizerAdaptive.cxx:1163 TPacketizerAdaptive.cxx:1164 TPacketizerAdaptive.cxx:1165 TPacketizerAdaptive.cxx:1166 TPacketizerAdaptive.cxx:1167 TPacketizerAdaptive.cxx:1168 TPacketizerAdaptive.cxx:1169 TPacketizerAdaptive.cxx:1170 TPacketizerAdaptive.cxx:1171 TPacketizerAdaptive.cxx:1172 TPacketizerAdaptive.cxx:1173 TPacketizerAdaptive.cxx:1174 TPacketizerAdaptive.cxx:1175 TPacketizerAdaptive.cxx:1176 TPacketizerAdaptive.cxx:1177 TPacketizerAdaptive.cxx:1178 TPacketizerAdaptive.cxx:1179 TPacketizerAdaptive.cxx:1180 TPacketizerAdaptive.cxx:1181 TPacketizerAdaptive.cxx:1182 TPacketizerAdaptive.cxx:1183 TPacketizerAdaptive.cxx:1184 TPacketizerAdaptive.cxx:1185 TPacketizerAdaptive.cxx:1186 TPacketizerAdaptive.cxx:1187 TPacketizerAdaptive.cxx:1188 TPacketizerAdaptive.cxx:1189 TPacketizerAdaptive.cxx:1190 TPacketizerAdaptive.cxx:1191 TPacketizerAdaptive.cxx:1192 TPacketizerAdaptive.cxx:1193 TPacketizerAdaptive.cxx:1194 TPacketizerAdaptive.cxx:1195 TPacketizerAdaptive.cxx:1196 TPacketizerAdaptive.cxx:1197 TPacketizerAdaptive.cxx:1198 TPacketizerAdaptive.cxx:1199 TPacketizerAdaptive.cxx:1200 TPacketizerAdaptive.cxx:1201 TPacketizerAdaptive.cxx:1202 TPacketizerAdaptive.cxx:1203 TPacketizerAdaptive.cxx:1204 TPacketizerAdaptive.cxx:1205 TPacketizerAdaptive.cxx:1206 TPacketizerAdaptive.cxx:1207 TPacketizerAdaptive.cxx:1208 TPacketizerAdaptive.cxx:1209 TPacketizerAdaptive.cxx:1210 TPacketizerAdaptive.cxx:1211 TPacketizerAdaptive.cxx:1212 TPacketizerAdaptive.cxx:1213 TPacketizerAdaptive.cxx:1214 TPacketizerAdaptive.cxx:1215 TPacketizerAdaptive.cxx:1216 TPacketizerAdaptive.cxx:1217 TPacketizerAdaptive.cxx:1218 TPacketizerAdaptive.cxx:1219 TPacketizerAdaptive.cxx:1220 TPacketizerAdaptive.cxx:1221 TPacketizerAdaptive.cxx:1222 TPacketizerAdaptive.cxx:1223 TPacketizerAdaptive.cxx:1224 TPacketizerAdaptive.cxx:1225 TPacketizerAdaptive.cxx:1226 TPacketizerAdaptive.cxx:1227 TPacketizerAdaptive.cxx:1228 TPacketizerAdaptive.cxx:1229 TPacketizerAdaptive.cxx:1230 TPacketizerAdaptive.cxx:1231 TPacketizerAdaptive.cxx:1232 TPacketizerAdaptive.cxx:1233 TPacketizerAdaptive.cxx:1234 TPacketizerAdaptive.cxx:1235 TPacketizerAdaptive.cxx:1236 TPacketizerAdaptive.cxx:1237 TPacketizerAdaptive.cxx:1238 TPacketizerAdaptive.cxx:1239 TPacketizerAdaptive.cxx:1240 TPacketizerAdaptive.cxx:1241 TPacketizerAdaptive.cxx:1242 TPacketizerAdaptive.cxx:1243 TPacketizerAdaptive.cxx:1244 TPacketizerAdaptive.cxx:1245 TPacketizerAdaptive.cxx:1246 TPacketizerAdaptive.cxx:1247 TPacketizerAdaptive.cxx:1248 TPacketizerAdaptive.cxx:1249 TPacketizerAdaptive.cxx:1250 TPacketizerAdaptive.cxx:1251 TPacketizerAdaptive.cxx:1252 TPacketizerAdaptive.cxx:1253 TPacketizerAdaptive.cxx:1254 TPacketizerAdaptive.cxx:1255 TPacketizerAdaptive.cxx:1256 TPacketizerAdaptive.cxx:1257 TPacketizerAdaptive.cxx:1258 TPacketizerAdaptive.cxx:1259 TPacketizerAdaptive.cxx:1260 TPacketizerAdaptive.cxx:1261 TPacketizerAdaptive.cxx:1262 TPacketizerAdaptive.cxx:1263 TPacketizerAdaptive.cxx:1264 TPacketizerAdaptive.cxx:1265 TPacketizerAdaptive.cxx:1266 TPacketizerAdaptive.cxx:1267 TPacketizerAdaptive.cxx:1268 TPacketizerAdaptive.cxx:1269 TPacketizerAdaptive.cxx:1270 TPacketizerAdaptive.cxx:1271 TPacketizerAdaptive.cxx:1272 TPacketizerAdaptive.cxx:1273 TPacketizerAdaptive.cxx:1274 TPacketizerAdaptive.cxx:1275 TPacketizerAdaptive.cxx:1276 TPacketizerAdaptive.cxx:1277 TPacketizerAdaptive.cxx:1278 TPacketizerAdaptive.cxx:1279 TPacketizerAdaptive.cxx:1280 TPacketizerAdaptive.cxx:1281 TPacketizerAdaptive.cxx:1282 TPacketizerAdaptive.cxx:1283 TPacketizerAdaptive.cxx:1284 TPacketizerAdaptive.cxx:1285 TPacketizerAdaptive.cxx:1286 TPacketizerAdaptive.cxx:1287 TPacketizerAdaptive.cxx:1288 TPacketizerAdaptive.cxx:1289 TPacketizerAdaptive.cxx:1290 TPacketizerAdaptive.cxx:1291 TPacketizerAdaptive.cxx:1292 TPacketizerAdaptive.cxx:1293 TPacketizerAdaptive.cxx:1294 TPacketizerAdaptive.cxx:1295 TPacketizerAdaptive.cxx:1296 TPacketizerAdaptive.cxx:1297 TPacketizerAdaptive.cxx:1298 TPacketizerAdaptive.cxx:1299 TPacketizerAdaptive.cxx:1300 TPacketizerAdaptive.cxx:1301 TPacketizerAdaptive.cxx:1302 TPacketizerAdaptive.cxx:1303 TPacketizerAdaptive.cxx:1304 TPacketizerAdaptive.cxx:1305 TPacketizerAdaptive.cxx:1306 TPacketizerAdaptive.cxx:1307 TPacketizerAdaptive.cxx:1308 TPacketizerAdaptive.cxx:1309 TPacketizerAdaptive.cxx:1310 TPacketizerAdaptive.cxx:1311 TPacketizerAdaptive.cxx:1312 TPacketizerAdaptive.cxx:1313 TPacketizerAdaptive.cxx:1314 TPacketizerAdaptive.cxx:1315 TPacketizerAdaptive.cxx:1316 TPacketizerAdaptive.cxx:1317 TPacketizerAdaptive.cxx:1318 TPacketizerAdaptive.cxx:1319 TPacketizerAdaptive.cxx:1320 TPacketizerAdaptive.cxx:1321 TPacketizerAdaptive.cxx:1322 TPacketizerAdaptive.cxx:1323 TPacketizerAdaptive.cxx:1324 TPacketizerAdaptive.cxx:1325 TPacketizerAdaptive.cxx:1326 TPacketizerAdaptive.cxx:1327 TPacketizerAdaptive.cxx:1328 TPacketizerAdaptive.cxx:1329 TPacketizerAdaptive.cxx:1330 TPacketizerAdaptive.cxx:1331 TPacketizerAdaptive.cxx:1332 TPacketizerAdaptive.cxx:1333 TPacketizerAdaptive.cxx:1334 TPacketizerAdaptive.cxx:1335 TPacketizerAdaptive.cxx:1336 TPacketizerAdaptive.cxx:1337 TPacketizerAdaptive.cxx:1338 TPacketizerAdaptive.cxx:1339 TPacketizerAdaptive.cxx:1340 TPacketizerAdaptive.cxx:1341 TPacketizerAdaptive.cxx:1342 TPacketizerAdaptive.cxx:1343 TPacketizerAdaptive.cxx:1344 TPacketizerAdaptive.cxx:1345 TPacketizerAdaptive.cxx:1346 TPacketizerAdaptive.cxx:1347 TPacketizerAdaptive.cxx:1348 TPacketizerAdaptive.cxx:1349 TPacketizerAdaptive.cxx:1350 TPacketizerAdaptive.cxx:1351 TPacketizerAdaptive.cxx:1352 TPacketizerAdaptive.cxx:1353 TPacketizerAdaptive.cxx:1354 TPacketizerAdaptive.cxx:1355 TPacketizerAdaptive.cxx:1356 TPacketizerAdaptive.cxx:1357 TPacketizerAdaptive.cxx:1358 TPacketizerAdaptive.cxx:1359 TPacketizerAdaptive.cxx:1360 TPacketizerAdaptive.cxx:1361 TPacketizerAdaptive.cxx:1362 TPacketizerAdaptive.cxx:1363 TPacketizerAdaptive.cxx:1364 TPacketizerAdaptive.cxx:1365 TPacketizerAdaptive.cxx:1366 TPacketizerAdaptive.cxx:1367 TPacketizerAdaptive.cxx:1368 TPacketizerAdaptive.cxx:1369 TPacketizerAdaptive.cxx:1370 TPacketizerAdaptive.cxx:1371 TPacketizerAdaptive.cxx:1372 TPacketizerAdaptive.cxx:1373 TPacketizerAdaptive.cxx:1374 TPacketizerAdaptive.cxx:1375 TPacketizerAdaptive.cxx:1376 TPacketizerAdaptive.cxx:1377 TPacketizerAdaptive.cxx:1378 TPacketizerAdaptive.cxx:1379 TPacketizerAdaptive.cxx:1380 TPacketizerAdaptive.cxx:1381 TPacketizerAdaptive.cxx:1382 TPacketizerAdaptive.cxx:1383 TPacketizerAdaptive.cxx:1384 TPacketizerAdaptive.cxx:1385 TPacketizerAdaptive.cxx:1386 TPacketizerAdaptive.cxx:1387 TPacketizerAdaptive.cxx:1388 TPacketizerAdaptive.cxx:1389 TPacketizerAdaptive.cxx:1390 TPacketizerAdaptive.cxx:1391 TPacketizerAdaptive.cxx:1392 TPacketizerAdaptive.cxx:1393 TPacketizerAdaptive.cxx:1394 TPacketizerAdaptive.cxx:1395 TPacketizerAdaptive.cxx:1396 TPacketizerAdaptive.cxx:1397 TPacketizerAdaptive.cxx:1398 TPacketizerAdaptive.cxx:1399 TPacketizerAdaptive.cxx:1400 TPacketizerAdaptive.cxx:1401 TPacketizerAdaptive.cxx:1402 TPacketizerAdaptive.cxx:1403 TPacketizerAdaptive.cxx:1404 TPacketizerAdaptive.cxx:1405 TPacketizerAdaptive.cxx:1406 TPacketizerAdaptive.cxx:1407 TPacketizerAdaptive.cxx:1408 TPacketizerAdaptive.cxx:1409 TPacketizerAdaptive.cxx:1410 TPacketizerAdaptive.cxx:1411 TPacketizerAdaptive.cxx:1412 TPacketizerAdaptive.cxx:1413 TPacketizerAdaptive.cxx:1414 TPacketizerAdaptive.cxx:1415 TPacketizerAdaptive.cxx:1416 TPacketizerAdaptive.cxx:1417 TPacketizerAdaptive.cxx:1418 TPacketizerAdaptive.cxx:1419 TPacketizerAdaptive.cxx:1420 TPacketizerAdaptive.cxx:1421 TPacketizerAdaptive.cxx:1422 TPacketizerAdaptive.cxx:1423 TPacketizerAdaptive.cxx:1424 TPacketizerAdaptive.cxx:1425 TPacketizerAdaptive.cxx:1426 TPacketizerAdaptive.cxx:1427 TPacketizerAdaptive.cxx:1428 TPacketizerAdaptive.cxx:1429 TPacketizerAdaptive.cxx:1430 TPacketizerAdaptive.cxx:1431 TPacketizerAdaptive.cxx:1432 TPacketizerAdaptive.cxx:1433 TPacketizerAdaptive.cxx:1434 TPacketizerAdaptive.cxx:1435 TPacketizerAdaptive.cxx:1436 TPacketizerAdaptive.cxx:1437 TPacketizerAdaptive.cxx:1438 TPacketizerAdaptive.cxx:1439 TPacketizerAdaptive.cxx:1440 TPacketizerAdaptive.cxx:1441 TPacketizerAdaptive.cxx:1442 TPacketizerAdaptive.cxx:1443 TPacketizerAdaptive.cxx:1444 TPacketizerAdaptive.cxx:1445 TPacketizerAdaptive.cxx:1446 TPacketizerAdaptive.cxx:1447 TPacketizerAdaptive.cxx:1448 TPacketizerAdaptive.cxx:1449 TPacketizerAdaptive.cxx:1450 TPacketizerAdaptive.cxx:1451 TPacketizerAdaptive.cxx:1452 TPacketizerAdaptive.cxx:1453 TPacketizerAdaptive.cxx:1454 TPacketizerAdaptive.cxx:1455 TPacketizerAdaptive.cxx:1456 TPacketizerAdaptive.cxx:1457 TPacketizerAdaptive.cxx:1458 TPacketizerAdaptive.cxx:1459 TPacketizerAdaptive.cxx:1460 TPacketizerAdaptive.cxx:1461 TPacketizerAdaptive.cxx:1462 TPacketizerAdaptive.cxx:1463 TPacketizerAdaptive.cxx:1464 TPacketizerAdaptive.cxx:1465 TPacketizerAdaptive.cxx:1466 TPacketizerAdaptive.cxx:1467 TPacketizerAdaptive.cxx:1468 TPacketizerAdaptive.cxx:1469 TPacketizerAdaptive.cxx:1470 TPacketizerAdaptive.cxx:1471 TPacketizerAdaptive.cxx:1472 TPacketizerAdaptive.cxx:1473 TPacketizerAdaptive.cxx:1474 TPacketizerAdaptive.cxx:1475 TPacketizerAdaptive.cxx:1476 TPacketizerAdaptive.cxx:1477 TPacketizerAdaptive.cxx:1478 TPacketizerAdaptive.cxx:1479 TPacketizerAdaptive.cxx:1480 TPacketizerAdaptive.cxx:1481 TPacketizerAdaptive.cxx:1482 TPacketizerAdaptive.cxx:1483 TPacketizerAdaptive.cxx:1484 TPacketizerAdaptive.cxx:1485 TPacketizerAdaptive.cxx:1486 TPacketizerAdaptive.cxx:1487 TPacketizerAdaptive.cxx:1488 TPacketizerAdaptive.cxx:1489 TPacketizerAdaptive.cxx:1490 TPacketizerAdaptive.cxx:1491 TPacketizerAdaptive.cxx:1492 TPacketizerAdaptive.cxx:1493 TPacketizerAdaptive.cxx:1494 TPacketizerAdaptive.cxx:1495 TPacketizerAdaptive.cxx:1496 TPacketizerAdaptive.cxx:1497 TPacketizerAdaptive.cxx:1498 TPacketizerAdaptive.cxx:1499 TPacketizerAdaptive.cxx:1500 TPacketizerAdaptive.cxx:1501 TPacketizerAdaptive.cxx:1502 TPacketizerAdaptive.cxx:1503 TPacketizerAdaptive.cxx:1504 TPacketizerAdaptive.cxx:1505 TPacketizerAdaptive.cxx:1506 TPacketizerAdaptive.cxx:1507 TPacketizerAdaptive.cxx:1508 TPacketizerAdaptive.cxx:1509 TPacketizerAdaptive.cxx:1510 TPacketizerAdaptive.cxx:1511 TPacketizerAdaptive.cxx:1512 TPacketizerAdaptive.cxx:1513 TPacketizerAdaptive.cxx:1514 TPacketizerAdaptive.cxx:1515 TPacketizerAdaptive.cxx:1516 TPacketizerAdaptive.cxx:1517 TPacketizerAdaptive.cxx:1518 TPacketizerAdaptive.cxx:1519 TPacketizerAdaptive.cxx:1520 TPacketizerAdaptive.cxx:1521 TPacketizerAdaptive.cxx:1522 TPacketizerAdaptive.cxx:1523 TPacketizerAdaptive.cxx:1524 TPacketizerAdaptive.cxx:1525 TPacketizerAdaptive.cxx:1526 TPacketizerAdaptive.cxx:1527 TPacketizerAdaptive.cxx:1528 TPacketizerAdaptive.cxx:1529 TPacketizerAdaptive.cxx:1530 TPacketizerAdaptive.cxx:1531 TPacketizerAdaptive.cxx:1532 TPacketizerAdaptive.cxx:1533 TPacketizerAdaptive.cxx:1534 TPacketizerAdaptive.cxx:1535 TPacketizerAdaptive.cxx:1536 TPacketizerAdaptive.cxx:1537 TPacketizerAdaptive.cxx:1538 TPacketizerAdaptive.cxx:1539 TPacketizerAdaptive.cxx:1540 TPacketizerAdaptive.cxx:1541 TPacketizerAdaptive.cxx:1542 TPacketizerAdaptive.cxx:1543 TPacketizerAdaptive.cxx:1544 TPacketizerAdaptive.cxx:1545 TPacketizerAdaptive.cxx:1546 TPacketizerAdaptive.cxx:1547 TPacketizerAdaptive.cxx:1548 TPacketizerAdaptive.cxx:1549 TPacketizerAdaptive.cxx:1550 TPacketizerAdaptive.cxx:1551 TPacketizerAdaptive.cxx:1552 TPacketizerAdaptive.cxx:1553 TPacketizerAdaptive.cxx:1554 TPacketizerAdaptive.cxx:1555 TPacketizerAdaptive.cxx:1556 TPacketizerAdaptive.cxx:1557 TPacketizerAdaptive.cxx:1558 TPacketizerAdaptive.cxx:1559 TPacketizerAdaptive.cxx:1560 TPacketizerAdaptive.cxx:1561 TPacketizerAdaptive.cxx:1562 TPacketizerAdaptive.cxx:1563 TPacketizerAdaptive.cxx:1564 TPacketizerAdaptive.cxx:1565 TPacketizerAdaptive.cxx:1566 TPacketizerAdaptive.cxx:1567 TPacketizerAdaptive.cxx:1568 TPacketizerAdaptive.cxx:1569 TPacketizerAdaptive.cxx:1570 TPacketizerAdaptive.cxx:1571 TPacketizerAdaptive.cxx:1572 TPacketizerAdaptive.cxx:1573 TPacketizerAdaptive.cxx:1574 TPacketizerAdaptive.cxx:1575 TPacketizerAdaptive.cxx:1576 TPacketizerAdaptive.cxx:1577 TPacketizerAdaptive.cxx:1578 TPacketizerAdaptive.cxx:1579 TPacketizerAdaptive.cxx:1580 TPacketizerAdaptive.cxx:1581 TPacketizerAdaptive.cxx:1582 TPacketizerAdaptive.cxx:1583 TPacketizerAdaptive.cxx:1584 TPacketizerAdaptive.cxx:1585 TPacketizerAdaptive.cxx:1586 TPacketizerAdaptive.cxx:1587 TPacketizerAdaptive.cxx:1588 TPacketizerAdaptive.cxx:1589 TPacketizerAdaptive.cxx:1590 TPacketizerAdaptive.cxx:1591 TPacketizerAdaptive.cxx:1592 TPacketizerAdaptive.cxx:1593 TPacketizerAdaptive.cxx:1594 TPacketizerAdaptive.cxx:1595 TPacketizerAdaptive.cxx:1596 TPacketizerAdaptive.cxx:1597 TPacketizerAdaptive.cxx:1598 TPacketizerAdaptive.cxx:1599 TPacketizerAdaptive.cxx:1600 TPacketizerAdaptive.cxx:1601 TPacketizerAdaptive.cxx:1602 TPacketizerAdaptive.cxx:1603 TPacketizerAdaptive.cxx:1604 TPacketizerAdaptive.cxx:1605 TPacketizerAdaptive.cxx:1606 TPacketizerAdaptive.cxx:1607 TPacketizerAdaptive.cxx:1608 TPacketizerAdaptive.cxx:1609 TPacketizerAdaptive.cxx:1610 TPacketizerAdaptive.cxx:1611 TPacketizerAdaptive.cxx:1612 TPacketizerAdaptive.cxx:1613 TPacketizerAdaptive.cxx:1614 TPacketizerAdaptive.cxx:1615 TPacketizerAdaptive.cxx:1616 TPacketizerAdaptive.cxx:1617 TPacketizerAdaptive.cxx:1618 TPacketizerAdaptive.cxx:1619 TPacketizerAdaptive.cxx:1620 TPacketizerAdaptive.cxx:1621 TPacketizerAdaptive.cxx:1622 TPacketizerAdaptive.cxx:1623 TPacketizerAdaptive.cxx:1624 TPacketizerAdaptive.cxx:1625 TPacketizerAdaptive.cxx:1626 TPacketizerAdaptive.cxx:1627 TPacketizerAdaptive.cxx:1628 TPacketizerAdaptive.cxx:1629 TPacketizerAdaptive.cxx:1630 TPacketizerAdaptive.cxx:1631 TPacketizerAdaptive.cxx:1632 TPacketizerAdaptive.cxx:1633 TPacketizerAdaptive.cxx:1634 TPacketizerAdaptive.cxx:1635 TPacketizerAdaptive.cxx:1636 TPacketizerAdaptive.cxx:1637 TPacketizerAdaptive.cxx:1638 TPacketizerAdaptive.cxx:1639 TPacketizerAdaptive.cxx:1640 TPacketizerAdaptive.cxx:1641 TPacketizerAdaptive.cxx:1642 TPacketizerAdaptive.cxx:1643 TPacketizerAdaptive.cxx:1644 TPacketizerAdaptive.cxx:1645 TPacketizerAdaptive.cxx:1646 TPacketizerAdaptive.cxx:1647 TPacketizerAdaptive.cxx:1648 TPacketizerAdaptive.cxx:1649 TPacketizerAdaptive.cxx:1650 TPacketizerAdaptive.cxx:1651 TPacketizerAdaptive.cxx:1652 TPacketizerAdaptive.cxx:1653 TPacketizerAdaptive.cxx:1654 TPacketizerAdaptive.cxx:1655 TPacketizerAdaptive.cxx:1656 TPacketizerAdaptive.cxx:1657 TPacketizerAdaptive.cxx:1658 TPacketizerAdaptive.cxx:1659 TPacketizerAdaptive.cxx:1660 TPacketizerAdaptive.cxx:1661 TPacketizerAdaptive.cxx:1662 TPacketizerAdaptive.cxx:1663 TPacketizerAdaptive.cxx:1664 TPacketizerAdaptive.cxx:1665 TPacketizerAdaptive.cxx:1666 TPacketizerAdaptive.cxx:1667 TPacketizerAdaptive.cxx:1668 TPacketizerAdaptive.cxx:1669 TPacketizerAdaptive.cxx:1670 TPacketizerAdaptive.cxx:1671 TPacketizerAdaptive.cxx:1672 TPacketizerAdaptive.cxx:1673 TPacketizerAdaptive.cxx:1674 TPacketizerAdaptive.cxx:1675 TPacketizerAdaptive.cxx:1676 TPacketizerAdaptive.cxx:1677 TPacketizerAdaptive.cxx:1678 TPacketizerAdaptive.cxx:1679 TPacketizerAdaptive.cxx:1680 TPacketizerAdaptive.cxx:1681 TPacketizerAdaptive.cxx:1682 TPacketizerAdaptive.cxx:1683 TPacketizerAdaptive.cxx:1684 TPacketizerAdaptive.cxx:1685 TPacketizerAdaptive.cxx:1686 TPacketizerAdaptive.cxx:1687 TPacketizerAdaptive.cxx:1688 TPacketizerAdaptive.cxx:1689 TPacketizerAdaptive.cxx:1690 TPacketizerAdaptive.cxx:1691 TPacketizerAdaptive.cxx:1692 TPacketizerAdaptive.cxx:1693 TPacketizerAdaptive.cxx:1694 TPacketizerAdaptive.cxx:1695 TPacketizerAdaptive.cxx:1696 TPacketizerAdaptive.cxx:1697 TPacketizerAdaptive.cxx:1698 TPacketizerAdaptive.cxx:1699 TPacketizerAdaptive.cxx:1700 TPacketizerAdaptive.cxx:1701 TPacketizerAdaptive.cxx:1702 TPacketizerAdaptive.cxx:1703 TPacketizerAdaptive.cxx:1704 TPacketizerAdaptive.cxx:1705 TPacketizerAdaptive.cxx:1706 TPacketizerAdaptive.cxx:1707 TPacketizerAdaptive.cxx:1708 TPacketizerAdaptive.cxx:1709 TPacketizerAdaptive.cxx:1710 TPacketizerAdaptive.cxx:1711 TPacketizerAdaptive.cxx:1712 TPacketizerAdaptive.cxx:1713 TPacketizerAdaptive.cxx:1714 TPacketizerAdaptive.cxx:1715 TPacketizerAdaptive.cxx:1716 TPacketizerAdaptive.cxx:1717 TPacketizerAdaptive.cxx:1718 TPacketizerAdaptive.cxx:1719 TPacketizerAdaptive.cxx:1720 TPacketizerAdaptive.cxx:1721 TPacketizerAdaptive.cxx:1722 TPacketizerAdaptive.cxx:1723 TPacketizerAdaptive.cxx:1724 TPacketizerAdaptive.cxx:1725 TPacketizerAdaptive.cxx:1726 TPacketizerAdaptive.cxx:1727 TPacketizerAdaptive.cxx:1728 TPacketizerAdaptive.cxx:1729 TPacketizerAdaptive.cxx:1730 TPacketizerAdaptive.cxx:1731 TPacketizerAdaptive.cxx:1732 TPacketizerAdaptive.cxx:1733 TPacketizerAdaptive.cxx:1734 TPacketizerAdaptive.cxx:1735 TPacketizerAdaptive.cxx:1736 TPacketizerAdaptive.cxx:1737 TPacketizerAdaptive.cxx:1738 TPacketizerAdaptive.cxx:1739 TPacketizerAdaptive.cxx:1740 TPacketizerAdaptive.cxx:1741 TPacketizerAdaptive.cxx:1742 TPacketizerAdaptive.cxx:1743 TPacketizerAdaptive.cxx:1744 TPacketizerAdaptive.cxx:1745 TPacketizerAdaptive.cxx:1746 TPacketizerAdaptive.cxx:1747 TPacketizerAdaptive.cxx:1748 TPacketizerAdaptive.cxx:1749 TPacketizerAdaptive.cxx:1750 TPacketizerAdaptive.cxx:1751 TPacketizerAdaptive.cxx:1752 TPacketizerAdaptive.cxx:1753 TPacketizerAdaptive.cxx:1754 TPacketizerAdaptive.cxx:1755 TPacketizerAdaptive.cxx:1756 TPacketizerAdaptive.cxx:1757 TPacketizerAdaptive.cxx:1758 TPacketizerAdaptive.cxx:1759 TPacketizerAdaptive.cxx:1760 TPacketizerAdaptive.cxx:1761 TPacketizerAdaptive.cxx:1762 TPacketizerAdaptive.cxx:1763 TPacketizerAdaptive.cxx:1764 TPacketizerAdaptive.cxx:1765 TPacketizerAdaptive.cxx:1766 TPacketizerAdaptive.cxx:1767 TPacketizerAdaptive.cxx:1768 TPacketizerAdaptive.cxx:1769 TPacketizerAdaptive.cxx:1770 TPacketizerAdaptive.cxx:1771 TPacketizerAdaptive.cxx:1772 TPacketizerAdaptive.cxx:1773 TPacketizerAdaptive.cxx:1774 TPacketizerAdaptive.cxx:1775 TPacketizerAdaptive.cxx:1776 TPacketizerAdaptive.cxx:1777 TPacketizerAdaptive.cxx:1778 TPacketizerAdaptive.cxx:1779 TPacketizerAdaptive.cxx:1780 TPacketizerAdaptive.cxx:1781 TPacketizerAdaptive.cxx:1782 TPacketizerAdaptive.cxx:1783 TPacketizerAdaptive.cxx:1784 TPacketizerAdaptive.cxx:1785 TPacketizerAdaptive.cxx:1786 TPacketizerAdaptive.cxx:1787 TPacketizerAdaptive.cxx:1788 TPacketizerAdaptive.cxx:1789 TPacketizerAdaptive.cxx:1790 TPacketizerAdaptive.cxx:1791 TPacketizerAdaptive.cxx:1792 TPacketizerAdaptive.cxx:1793 TPacketizerAdaptive.cxx:1794 TPacketizerAdaptive.cxx:1795 TPacketizerAdaptive.cxx:1796 TPacketizerAdaptive.cxx:1797 TPacketizerAdaptive.cxx:1798 TPacketizerAdaptive.cxx:1799 TPacketizerAdaptive.cxx:1800 TPacketizerAdaptive.cxx:1801 TPacketizerAdaptive.cxx:1802 TPacketizerAdaptive.cxx:1803 TPacketizerAdaptive.cxx:1804 TPacketizerAdaptive.cxx:1805 TPacketizerAdaptive.cxx:1806 TPacketizerAdaptive.cxx:1807 TPacketizerAdaptive.cxx:1808 TPacketizerAdaptive.cxx:1809 TPacketizerAdaptive.cxx:1810 TPacketizerAdaptive.cxx:1811 TPacketizerAdaptive.cxx:1812 TPacketizerAdaptive.cxx:1813 TPacketizerAdaptive.cxx:1814 TPacketizerAdaptive.cxx:1815 TPacketizerAdaptive.cxx:1816 TPacketizerAdaptive.cxx:1817 TPacketizerAdaptive.cxx:1818 TPacketizerAdaptive.cxx:1819 TPacketizerAdaptive.cxx:1820 TPacketizerAdaptive.cxx:1821 TPacketizerAdaptive.cxx:1822 TPacketizerAdaptive.cxx:1823 TPacketizerAdaptive.cxx:1824 TPacketizerAdaptive.cxx:1825 TPacketizerAdaptive.cxx:1826 TPacketizerAdaptive.cxx:1827 TPacketizerAdaptive.cxx:1828 TPacketizerAdaptive.cxx:1829 TPacketizerAdaptive.cxx:1830 TPacketizerAdaptive.cxx:1831 TPacketizerAdaptive.cxx:1832 TPacketizerAdaptive.cxx:1833 TPacketizerAdaptive.cxx:1834 TPacketizerAdaptive.cxx:1835 TPacketizerAdaptive.cxx:1836 TPacketizerAdaptive.cxx:1837 TPacketizerAdaptive.cxx:1838 TPacketizerAdaptive.cxx:1839 TPacketizerAdaptive.cxx:1840 TPacketizerAdaptive.cxx:1841 TPacketizerAdaptive.cxx:1842 TPacketizerAdaptive.cxx:1843 TPacketizerAdaptive.cxx:1844 TPacketizerAdaptive.cxx:1845 TPacketizerAdaptive.cxx:1846 TPacketizerAdaptive.cxx:1847 TPacketizerAdaptive.cxx:1848 TPacketizerAdaptive.cxx:1849 TPacketizerAdaptive.cxx:1850 TPacketizerAdaptive.cxx:1851 TPacketizerAdaptive.cxx:1852 TPacketizerAdaptive.cxx:1853 TPacketizerAdaptive.cxx:1854 TPacketizerAdaptive.cxx:1855 TPacketizerAdaptive.cxx:1856 TPacketizerAdaptive.cxx:1857 TPacketizerAdaptive.cxx:1858 TPacketizerAdaptive.cxx:1859 TPacketizerAdaptive.cxx:1860 TPacketizerAdaptive.cxx:1861 TPacketizerAdaptive.cxx:1862 TPacketizerAdaptive.cxx:1863 TPacketizerAdaptive.cxx:1864 TPacketizerAdaptive.cxx:1865 TPacketizerAdaptive.cxx:1866 TPacketizerAdaptive.cxx:1867 TPacketizerAdaptive.cxx:1868 TPacketizerAdaptive.cxx:1869 TPacketizerAdaptive.cxx:1870 TPacketizerAdaptive.cxx:1871 TPacketizerAdaptive.cxx:1872 TPacketizerAdaptive.cxx:1873 TPacketizerAdaptive.cxx:1874 TPacketizerAdaptive.cxx:1875 TPacketizerAdaptive.cxx:1876 TPacketizerAdaptive.cxx:1877 TPacketizerAdaptive.cxx:1878 TPacketizerAdaptive.cxx:1879 TPacketizerAdaptive.cxx:1880 TPacketizerAdaptive.cxx:1881 TPacketizerAdaptive.cxx:1882 TPacketizerAdaptive.cxx:1883 TPacketizerAdaptive.cxx:1884 TPacketizerAdaptive.cxx:1885 TPacketizerAdaptive.cxx:1886 TPacketizerAdaptive.cxx:1887 TPacketizerAdaptive.cxx:1888 TPacketizerAdaptive.cxx:1889 TPacketizerAdaptive.cxx:1890 TPacketizerAdaptive.cxx:1891 TPacketizerAdaptive.cxx:1892 TPacketizerAdaptive.cxx:1893 TPacketizerAdaptive.cxx:1894 TPacketizerAdaptive.cxx:1895 TPacketizerAdaptive.cxx:1896 TPacketizerAdaptive.cxx:1897 TPacketizerAdaptive.cxx:1898 TPacketizerAdaptive.cxx:1899 TPacketizerAdaptive.cxx:1900 TPacketizerAdaptive.cxx:1901 TPacketizerAdaptive.cxx:1902 TPacketizerAdaptive.cxx:1903 TPacketizerAdaptive.cxx:1904 TPacketizerAdaptive.cxx:1905 TPacketizerAdaptive.cxx:1906 TPacketizerAdaptive.cxx:1907 TPacketizerAdaptive.cxx:1908 TPacketizerAdaptive.cxx:1909 TPacketizerAdaptive.cxx:1910 TPacketizerAdaptive.cxx:1911 TPacketizerAdaptive.cxx:1912 TPacketizerAdaptive.cxx:1913 TPacketizerAdaptive.cxx:1914 TPacketizerAdaptive.cxx:1915 TPacketizerAdaptive.cxx:1916 TPacketizerAdaptive.cxx:1917 TPacketizerAdaptive.cxx:1918 TPacketizerAdaptive.cxx:1919 TPacketizerAdaptive.cxx:1920 TPacketizerAdaptive.cxx:1921 TPacketizerAdaptive.cxx:1922 TPacketizerAdaptive.cxx:1923 TPacketizerAdaptive.cxx:1924 TPacketizerAdaptive.cxx:1925 TPacketizerAdaptive.cxx:1926 TPacketizerAdaptive.cxx:1927 TPacketizerAdaptive.cxx:1928 TPacketizerAdaptive.cxx:1929 TPacketizerAdaptive.cxx:1930 TPacketizerAdaptive.cxx:1931 TPacketizerAdaptive.cxx:1932 TPacketizerAdaptive.cxx:1933 TPacketizerAdaptive.cxx:1934 TPacketizerAdaptive.cxx:1935 TPacketizerAdaptive.cxx:1936 TPacketizerAdaptive.cxx:1937 TPacketizerAdaptive.cxx:1938 TPacketizerAdaptive.cxx:1939 TPacketizerAdaptive.cxx:1940 TPacketizerAdaptive.cxx:1941 TPacketizerAdaptive.cxx:1942 TPacketizerAdaptive.cxx:1943 TPacketizerAdaptive.cxx:1944 TPacketizerAdaptive.cxx:1945 TPacketizerAdaptive.cxx:1946 TPacketizerAdaptive.cxx:1947 TPacketizerAdaptive.cxx:1948 TPacketizerAdaptive.cxx:1949 TPacketizerAdaptive.cxx:1950 TPacketizerAdaptive.cxx:1951 TPacketizerAdaptive.cxx:1952 TPacketizerAdaptive.cxx:1953 TPacketizerAdaptive.cxx:1954 TPacketizerAdaptive.cxx:1955 TPacketizerAdaptive.cxx:1956 TPacketizerAdaptive.cxx:1957 TPacketizerAdaptive.cxx:1958 TPacketizerAdaptive.cxx:1959 TPacketizerAdaptive.cxx:1960 TPacketizerAdaptive.cxx:1961 TPacketizerAdaptive.cxx:1962 TPacketizerAdaptive.cxx:1963 TPacketizerAdaptive.cxx:1964 TPacketizerAdaptive.cxx:1965 TPacketizerAdaptive.cxx:1966 TPacketizerAdaptive.cxx:1967 TPacketizerAdaptive.cxx:1968 TPacketizerAdaptive.cxx:1969 TPacketizerAdaptive.cxx:1970 TPacketizerAdaptive.cxx:1971 TPacketizerAdaptive.cxx:1972 TPacketizerAdaptive.cxx:1973 TPacketizerAdaptive.cxx:1974 TPacketizerAdaptive.cxx:1975 TPacketizerAdaptive.cxx:1976 TPacketizerAdaptive.cxx:1977 TPacketizerAdaptive.cxx:1978 TPacketizerAdaptive.cxx:1979 TPacketizerAdaptive.cxx:1980 TPacketizerAdaptive.cxx:1981 TPacketizerAdaptive.cxx:1982 TPacketizerAdaptive.cxx:1983 TPacketizerAdaptive.cxx:1984 TPacketizerAdaptive.cxx:1985 TPacketizerAdaptive.cxx:1986 TPacketizerAdaptive.cxx:1987 TPacketizerAdaptive.cxx:1988 TPacketizerAdaptive.cxx:1989 TPacketizerAdaptive.cxx:1990 TPacketizerAdaptive.cxx:1991 TPacketizerAdaptive.cxx:1992 TPacketizerAdaptive.cxx:1993 TPacketizerAdaptive.cxx:1994 TPacketizerAdaptive.cxx:1995 TPacketizerAdaptive.cxx:1996 TPacketizerAdaptive.cxx:1997 TPacketizerAdaptive.cxx:1998 TPacketizerAdaptive.cxx:1999 TPacketizerAdaptive.cxx:2000 TPacketizerAdaptive.cxx:2001 TPacketizerAdaptive.cxx:2002 TPacketizerAdaptive.cxx:2003 TPacketizerAdaptive.cxx:2004 TPacketizerAdaptive.cxx:2005 TPacketizerAdaptive.cxx:2006 TPacketizerAdaptive.cxx:2007 TPacketizerAdaptive.cxx:2008 TPacketizerAdaptive.cxx:2009 TPacketizerAdaptive.cxx:2010 TPacketizerAdaptive.cxx:2011 TPacketizerAdaptive.cxx:2012 TPacketizerAdaptive.cxx:2013 TPacketizerAdaptive.cxx:2014 TPacketizerAdaptive.cxx:2015 TPacketizerAdaptive.cxx:2016 TPacketizerAdaptive.cxx:2017 TPacketizerAdaptive.cxx:2018 TPacketizerAdaptive.cxx:2019 TPacketizerAdaptive.cxx:2020 TPacketizerAdaptive.cxx:2021 TPacketizerAdaptive.cxx:2022 TPacketizerAdaptive.cxx:2023 TPacketizerAdaptive.cxx:2024 TPacketizerAdaptive.cxx:2025 TPacketizerAdaptive.cxx:2026 TPacketizerAdaptive.cxx:2027 TPacketizerAdaptive.cxx:2028 TPacketizerAdaptive.cxx:2029 TPacketizerAdaptive.cxx:2030 TPacketizerAdaptive.cxx:2031 TPacketizerAdaptive.cxx:2032 TPacketizerAdaptive.cxx:2033 TPacketizerAdaptive.cxx:2034 TPacketizerAdaptive.cxx:2035 TPacketizerAdaptive.cxx:2036 TPacketizerAdaptive.cxx:2037 TPacketizerAdaptive.cxx:2038 TPacketizerAdaptive.cxx:2039 TPacketizerAdaptive.cxx:2040 TPacketizerAdaptive.cxx:2041 TPacketizerAdaptive.cxx:2042 TPacketizerAdaptive.cxx:2043 TPacketizerAdaptive.cxx:2044 TPacketizerAdaptive.cxx:2045 TPacketizerAdaptive.cxx:2046 TPacketizerAdaptive.cxx:2047 TPacketizerAdaptive.cxx:2048 TPacketizerAdaptive.cxx:2049 TPacketizerAdaptive.cxx:2050 TPacketizerAdaptive.cxx:2051 TPacketizerAdaptive.cxx:2052 TPacketizerAdaptive.cxx:2053 TPacketizerAdaptive.cxx:2054 TPacketizerAdaptive.cxx:2055 TPacketizerAdaptive.cxx:2056 TPacketizerAdaptive.cxx:2057 TPacketizerAdaptive.cxx:2058 TPacketizerAdaptive.cxx:2059 TPacketizerAdaptive.cxx:2060 TPacketizerAdaptive.cxx:2061 TPacketizerAdaptive.cxx:2062 TPacketizerAdaptive.cxx:2063 TPacketizerAdaptive.cxx:2064 TPacketizerAdaptive.cxx:2065 TPacketizerAdaptive.cxx:2066 TPacketizerAdaptive.cxx:2067 TPacketizerAdaptive.cxx:2068 TPacketizerAdaptive.cxx:2069 TPacketizerAdaptive.cxx:2070 TPacketizerAdaptive.cxx:2071 TPacketizerAdaptive.cxx:2072 TPacketizerAdaptive.cxx:2073 TPacketizerAdaptive.cxx:2074 TPacketizerAdaptive.cxx:2075 TPacketizerAdaptive.cxx:2076 TPacketizerAdaptive.cxx:2077 TPacketizerAdaptive.cxx:2078 TPacketizerAdaptive.cxx:2079 TPacketizerAdaptive.cxx:2080 TPacketizerAdaptive.cxx:2081 TPacketizerAdaptive.cxx:2082 TPacketizerAdaptive.cxx:2083 TPacketizerAdaptive.cxx:2084 TPacketizerAdaptive.cxx:2085 TPacketizerAdaptive.cxx:2086 TPacketizerAdaptive.cxx:2087 TPacketizerAdaptive.cxx:2088 TPacketizerAdaptive.cxx:2089 TPacketizerAdaptive.cxx:2090 TPacketizerAdaptive.cxx:2091 TPacketizerAdaptive.cxx:2092 TPacketizerAdaptive.cxx:2093 TPacketizerAdaptive.cxx:2094 TPacketizerAdaptive.cxx:2095 TPacketizerAdaptive.cxx:2096 TPacketizerAdaptive.cxx:2097 TPacketizerAdaptive.cxx:2098 TPacketizerAdaptive.cxx:2099