Mail sent on the 08/18 and
apparently lost. --
Best regards, Thierry Boileau -- Restlet ~ Core developer ~ http://www.restlet.org Noelios Technologies ~ Co-founder ~ http://www.noelios.com |
--- Begin Message ---Hi Kevin, I've updated the issue 514.best regards, Thierry BoileauCan you attach your test case to that issue?On Thu, Aug 14, 2008 at 12:18 PM, Thierry Boileau <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:Hi Kevin (Conaway), I would like to have your thinking about a problem we are facing with (see issue http://restlet.tigris.org/issues/show_bug.cgi?id=514). I've a simple internal client that simply send several (POST, but I don't think it is meaningful) requests (in my case, 10000 requests) to the server which sets the status and doesn't send a response entity or sends an entity with an unknown size (which leads to chunk encoding). In this case after the handling of several requests, the server block when accepting a new incoming one. I think that the required behaviour is the following : after sending the headers, and because the connection is not persistent, the server can close the connection. At this time, the closing of connections relies on the fact that there is an entity, with or without chunk encoding, with or without persistent connection. I notice that the fact there is no entity is not taken into account. I notice also that when there is chunck encoding, the ChunckedInputStream class does not close the underlying socket. To my mind, the closing of the socket (on server side) relies only on the fact that the connection is persistent or not. So I would like to know if the following test in the StreamServerCall#complete method could be sufficient: if (!this.socket.isClosed()) { this.socket.getOutputStream().flush(); this.socket.shutdownOutput(); if (!isKeepAlive()) { this.socket.close(); } } best regards, Thierry Boileau
--- End Message ---