MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / LookupSegmentOffset

Method LookupSegmentOffset

tensorflow/core/util/tensor_bundle/tensor_bundle.cc:1139–1163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1137}
1138
1139Status BundleReader::LookupSegmentOffset(StringPiece key, uint64_t offset, size_t buffer_size, char* destination, size_t& real_bytes_read) {
1140 LookupSegItem& seg_item = tmp_lookupseg_items_[string(key)];
1141 const size_t desired_bytes = std::min(buffer_size, seg_item.total_size);
1142 if (desired_bytes == 0) {
1143 real_bytes_read = 0;
1144 return Status::OK();
1145 }
1146
1147 io::InputBuffer* buffered_file = data_[seg_item.entry.shard_id()];
1148 StringPiece result;
1149 Status status = buffered_file->file()->Read(seg_item.entry.offset() + offset, desired_bytes, &result, destination);
1150
1151 if (!status.ok()) {
1152 return errors::InvalidArgument("Read Error! ", buffer_size, " ", seg_item.total_size, " ", seg_item.entry.offset() + seg_item.bytes_read, " ", desired_bytes, " ", status.ToString());
1153 }
1154 if (result.size() != desired_bytes) {
1155 return errors::DataLoss("Requested ", desired_bytes, " bytes but read ",
1156 result.size(), " bytes.");
1157 }
1158 // Data is already in the correct location.
1159 seg_item.bytes_read += result.size();
1160 seg_item.total_size -= result.size();
1161 real_bytes_read = result.size();
1162 return Status::OK();
1163}
1164
1165Status BundleReader::GetTensorInfo(
1166 StringPiece key, int64* size,

Callers 2

EVRestoreFeaturesMethod · 0.80

Calls 8

InvalidArgumentFunction · 0.85
minFunction · 0.50
ReadMethod · 0.45
fileMethod · 0.45
offsetMethod · 0.45
okMethod · 0.45
ToStringMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected