Tunnel-Framing, Multiplexing und Request-Lifecycle implementieren #6

Closed
opened 2026-07-17 09:05:49 +02:00 by frank · 2 comments
Owner

Teil von #1. Blockiert durch Connector- und Tunnelprotokoll v1 sowie den Upgrade-Listener.

Ziel

Mehrere parallele Webrequests zuverlässig über eine einzelne, langlebige Reverse-Verbindung transportieren.

Scope

  • Encoder/Decoder für das festgelegte v1-Framing.
  • Eindeutige, nicht wiederverwendete Request-IDs.
  • Nebenläufiges Dispatching ohne Head-of-Line-Blocking auf Anwendungsebene.
  • Begrenzte Send-/Receive-Queues und definierte Backpressure.
  • Request-Deadlines und Cancel-Nachrichten in beide Richtungen propagieren.
  • Ping/Pong Keepalive und Erkennung halboffener Verbindungen.
  • Goaway für kontrolliertes Herunterfahren.
  • Begrenzung von Framegröße, gleichzeitig laufenden Requests und Gesamtpuffern.
  • Unbekannte oder verspätete Responses kontrolliert verwerfen und metrisch erfassen.
  • Alle Goroutines und Ressourcen bei Disconnect zuverlässig beenden.
  • Neue Requests ablehnen, wenn kein gesunder Proxy verbunden ist.

Akzeptanzkriterien

  • Mindestens 100 parallele In-Flight-Testrequests werden korrekt korreliert, auch bei absichtlich vertauschter Antwortreihenfolge.
  • Cancel und Deadline stoppen die Gegenstelle und geben Ressourcen frei.
  • Langsame Leser führen nicht zu unbeschränktem Speicherwachstum.
  • Race-Tests laufen ohne Befund.
  • Parser-Grenzfälle werden mit Go-Fuzztests abgedeckt.
  • Disconnect erzeugt für alle betroffenen Aufrufe einen stabilen, verständlichen Fehler.

Referenzen

Teil von #1. Blockiert durch Connector- und Tunnelprotokoll v1 sowie den Upgrade-Listener. ## Ziel Mehrere parallele Webrequests zuverlässig über eine einzelne, langlebige Reverse-Verbindung transportieren. ## Scope - Encoder/Decoder für das festgelegte v1-Framing. - Eindeutige, nicht wiederverwendete Request-IDs. - Nebenläufiges Dispatching ohne Head-of-Line-Blocking auf Anwendungsebene. - Begrenzte Send-/Receive-Queues und definierte Backpressure. - Request-Deadlines und Cancel-Nachrichten in beide Richtungen propagieren. - Ping/Pong Keepalive und Erkennung halboffener Verbindungen. - Goaway für kontrolliertes Herunterfahren. - Begrenzung von Framegröße, gleichzeitig laufenden Requests und Gesamtpuffern. - Unbekannte oder verspätete Responses kontrolliert verwerfen und metrisch erfassen. - Alle Goroutines und Ressourcen bei Disconnect zuverlässig beenden. - Neue Requests ablehnen, wenn kein gesunder Proxy verbunden ist. ## Akzeptanzkriterien - Mindestens 100 parallele In-Flight-Testrequests werden korrekt korreliert, auch bei absichtlich vertauschter Antwortreihenfolge. - Cancel und Deadline stoppen die Gegenstelle und geben Ressourcen frei. - Langsame Leser führen nicht zu unbeschränktem Speicherwachstum. - Race-Tests laufen ohne Befund. - Parser-Grenzfälle werden mit Go-Fuzztests abgedeckt. - Disconnect erzeugt für alle betroffenen Aufrufe einen stabilen, verständlichen Fehler. ## Referenzen - Go Fuzzing: https://go.dev/doc/security/fuzz/ - Go Race Detector: https://go.dev/doc/articles/race_detector
Author
Owner

🤖 forge agent started

  • Agent: codex
  • Model: gpt-5.6-sol
  • Mode: pr
  • Trigger: assignee=agent|+5 mapped

Tunnel-Framing, Multiplexing und Request-Lifecycle implementieren — Teil von #1. Blockiert durch Connector- und Tunnelprotokoll v1 sowie den Upgrade-Listener.

🤖 **forge agent started** - Agent: `codex` - Model: `gpt-5.6-sol` - Mode: `pr` - Trigger: `assignee=agent|+5 mapped` Tunnel-Framing, Multiplexing und Request-Lifecycle implementieren — Teil von #1. Blockiert durch Connector- und Tunnelprotokoll v1 sowie den Upgrade-Listener.
Author
Owner

forge agent could not finish this issue

issue #6 was not implemented: no published commits after retry

Forge already tried:

  1. commit any dirty worktree changes and push the agent branch
  2. recover orphaned git trees (lost uncommitted work)
  3. one follow-up agent run to implement the issue and commit

The branch still has no commits ahead of main, so an empty PR cannot be finished.
Clarify the issue (or fix agent/quota problems), then re-queue with agent:ready / forge agent run.

❌ **forge agent could not finish this issue** issue #6 was not implemented: no published commits after retry Forge already tried: 1. commit any dirty worktree changes and push the agent branch 2. recover orphaned git trees (lost uncommitted work) 3. one follow-up agent run to implement the issue and commit The branch still has no commits ahead of main, so an empty PR cannot be finished. Clarify the issue (or fix agent/quota problems), then re-queue with agent:ready / forge agent run.
frank closed this issue 2026-07-17 12:29:13 +02:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
ai-tools/private-proxy-mcp#6
No description provided.