feat(core): Gnutella search and download after Java, measured against Java

GnutellaRun adds a line of four peers: a search goes on as a query, each
peer answers with a hit for each matching file and the hits come back the
way the query came; a hit's file is fetched by HTTP on port 6346. The
file type names of the model move from the project export and import into
the core, so that the download uses them too.

Departures from Java: a peer that sent hits keeps its connection, so that
the hits of farther peers come back too (Java closes it and loses them),
and sizes are in characters.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 14:59:26 +00:00
co-authored by Claude Opus 5.5
parent b4a95e6cac
commit ce5b10c1f3
13 changed files with 39934 additions and 130 deletions
+2 -2
View File
@@ -286,9 +286,9 @@ for language in de en; do
test -s "$output"
done
# The Gnutella program joining peers on terminal-net (GnutellaRun;
# The Gnutella program joining peers, searching and downloading on terminal-net (GnutellaRun;
# packages/core/test/gnutellaJava.test.ts).
for run in pair:6000 chain:9000 twoPaths:15000 full:11000 reset:7000 errors:40000; do
for run in pair:6000 chain:9000 twoPaths:15000 full:11000 reset:7000 errors:40000 search:29000 searchBoth:13000; do
story="${run%%:*}"
output="$root/packages/core/test/scenarios/gnutella-java-$story.java.json"
rm -f "$output"