Definition at line 106 of file DistributedAccessRepositoryInFile.h. References GetDir(), Impala::Persistency::KernelMatrixLocator::GetFeature(), Impala::Persistency::RepositoryInFileSystem::GetFile(), Impala::Persistency::KernelMatrixLocator::GetNodeCount(), Impala::Persistency::File::GetReadBuffer(), Impala::Persistency::KernelMatrixLocator::GetStartNode(), ILOG_ERROR, Impala::Util::IOBuffer::ReadLine(), RepFS(), and Impala::Persistency::File::Valid(). Referenced by Get(). 00107 { 00108 String description; 00109 if (Link::Mpi::MyId() == loc.GetStartNode()) 00110 { 00111 String filename = loc.GetFeature() + ".info"; 00112 String dir = GetDir(loc); 00113 Persistency::File file = RepFS().GetFile(loc, dir, filename, false, 00114 false); 00115 if (!file.Valid()) 00116 return 0; 00117 00118 Util::IOBuffer* buf = file.GetReadBuffer(true, ""); 00119 if (!buf) 00120 { 00121 ILOG_ERROR("Could not open " << loc.GetFeature() << ".info"); 00122 return 0; 00123 } 00124 description = buf->ReadLine(); 00125 delete buf; 00126 } 00127 description = Link::Mpi::BroadcastString(description, 00128 loc.GetStartNode()); 00129 Util::PropertySet properties(description); 00130 DistributedAccess* da = new DistributedAccess 00131 (properties.GetInt("totalrows"), properties.GetInt("totalcolumns"), 00132 properties.GetInt("rowparts"), properties.GetInt("columnparts"), 00133 loc.GetStartNode(), loc.GetNodeCount()); 00134 return da; 00135 }
Here is the call graph for this function: ![]()
|