ich habe gerade für das plex modul den non-locking empfang von http 1.1 mit keepalive eingebaut. jetzt wollte ich mir die sende seite vornehmen und bin über das keepalive flag der httputils gestolpert.
auf den ersten blick schaut es für mich so aus als ob das im non-blocking fall nicht vorgesehen ist. nach dem sysread wird im HttpUtils_DataComplete fall die lesende seite zu gemacht und aus der selectlist entfernt.
was übersehe ich?
Nicht vorgesehen ist etwas hart. Ich habe es bisher nicht gebraucht/getestet, und es funktioniert wohl auch nicht. Da ich jetzt dafuer keine Testumgebung aufsetzen will: kannst du dafuer ein Patch erstellen? Reicht es, wenn delete($hash->{FD}) nur bei !$keepalive && !$redirect ausgefuehrt wird?
ich schaue es mir an. wenn meine gegenstelle das unterstützt wie ich es mir vorstelle habe ich auch einen vernünftigen testfall.
noch etwas: wie sollen wir mit dem callback umgehen wenn daten anstehen? mein vorschlag wäre der callback wird jeweils pro header und zugehörigem body einmal aufgerufen. auch wenn bei einem sysread mehr als eine antwort vorhanden ist.
im chunked fall wird der callback pro chunk aufgerufen und es ist sache der anwendung das semantisch zusammen zu sortieren.
einwände?
keine