Ejemplo n.º 1
0
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;
    }
}
Ejemplo n.º 2
0
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();
}