MCPcopy Create free account
hub / github.com/antmachineintelligence/mtgbmcode / CheckCanLoadFromBin

Method CheckCanLoadFromBin

src/io/dataset_loader.cpp:1208–1233  ·  view source on GitHub ↗

! \brief Check can load from binary file */

Source from the content-addressed store, hash-verified

1206
1207/*! \brief Check can load from binary file */
1208std::string DatasetLoader::CheckCanLoadFromBin(const char* filename) {
1209 std::string bin_filename(filename);
1210 bin_filename.append(".bin");
1211
1212 auto reader = VirtualFileReader::Make(bin_filename.c_str());
1213
1214 if (!reader->Init()) {
1215 bin_filename = std::string(filename);
1216 reader = VirtualFileReader::Make(bin_filename.c_str());
1217 if (!reader->Init()) {
1218 Log::Fatal("Cannot open data file %s", bin_filename.c_str());
1219 }
1220 }
1221
1222 size_t buffer_size = 256;
1223 auto buffer = std::vector<char>(buffer_size);
1224 // read size of token
1225 size_t size_of_token = std::strlen(Dataset::binary_file_token);
1226 size_t read_cnt = reader->Read(buffer.data(), size_of_token);
1227 if (read_cnt == size_of_token
1228 && std::string(buffer.data()) == std::string(Dataset::binary_file_token)) {
1229 return bin_filename;
1230 } else {
1231 return std::string();
1232 }
1233}
1234
1235
1236

Callers

nothing calls this directly

Calls 4

appendMethod · 0.80
dataMethod · 0.80
InitMethod · 0.45
ReadMethod · 0.45

Tested by

no test coverage detected