Limit active pieces and expose file list

This commit is contained in:
ookami125 2026-06-17 02:23:15 -04:00
parent ff8e0f5f5b
commit 6dc711cf57
6 changed files with 117 additions and 3 deletions

View file

@ -278,6 +278,25 @@ static json_t *torrent_json(torrent_task *task) {
}
json_object_set_new(result, "trackers", trackers);
}
json_t *files = json_array();
if (files) {
uint32_t file_count = task->stats.file_count;
if (file_count > NAUT_SWARM_MAX_FILE_STATS)
file_count = NAUT_SWARM_MAX_FILE_STATS;
for (uint32_t i = 0; i < file_count; i++) {
const naut_swarm_file_stats *file =
&task->stats.file_stats[i];
json_t *item = json_pack(
"{s:s,s:I,s:f,s:i,s:f}",
"name", file->path,
"size", (json_int_t)file->size,
"progress", file->progress,
"priority", file->priority,
"availability", file->availability);
if (item) json_array_append_new(files, item);
}
json_object_set_new(result, "files", files);
}
json_object_set_new(result, "elapsed_seconds",
json_real(task->stats.elapsed_seconds));
json_object_set_new(result, "pending_moves",