static void index_from_tar_data(const char *data, size_t len) { const char *p = data; while(len > 0) { size_t res; res = process_part(p, len); if (command_line.debug > 2) fprintf(stderr, "index_from_tar, processed %zu bytes\n", res); len -= res; p += res; } }
Status FileLoader::try_on_part_query(Part part, NetQueryPtr query) { TRY_RESULT(size, process_part(part, std::move(query))); VLOG(files) << "Ok part " << tag("id", part.id) << tag("size", part.size); resource_state_.stop_use(static_cast<int64>(part.size)); auto old_ready_prefix_count = parts_manager_.get_ready_prefix_count(); TRY_STATUS(parts_manager_.on_part_ok(part.id, part.size, size)); auto new_ready_prefix_count = parts_manager_.get_ready_prefix_count(); debug_total_parts_++; if (old_ready_prefix_count == new_ready_prefix_count) { debug_bad_parts_.push_back(part.id); debug_bad_part_order_++; } on_progress_impl(size); return Status::OK(); }