You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modules-dev@httpd.apache.org by ma...@art122-5.net on 2007/10/15 10:05:17 UTC

ap_rwrite and timeout

Hello,

I am writing a module for Apache 2.0.59 that works like a proxy to  
expose a Dime Soap Web service over classical HTTP

The problem is when i send the content to the client, if the client  
closes the connection or pauses the download, i have to wait the  
timeout to detect the problem

The timeout is the Timeout directive of the server, is it possible to  
use a shorter timeout for my module ? or having something like  
ap_hard_time_out() ?

or how to use a function like poll with a request_rec ? to detect if  
the client is ready to receive a packet

Marc


Re: ap_rwrite and timeout

Posted by ed <ed...@s5h.net>.
On Mon, 15 Oct 2007 10:05:17 +0200
marc.despland@art122-5.net wrote:

> I am writing a module for Apache 2.0.59 that works like a proxy to  
> expose a Dime Soap Web service over classical HTTP
> 
> The problem is when i send the content to the client, if the client  
> closes the connection or pauses the download, i have to wait the  
> timeout to detect the problem

The thing with the timeout is that it's the time for the ACK to come
back from the client. The packet could be written to a DROP firewall
rule, or anything really. If a ICMP port unreach, or ICMP host unreach
comes in response then the timeout, in effect, should be triggered
automatically as the socket will be closed.

> The timeout is the Timeout directive of the server, is it possible
> to use a shorter timeout for my module ? or having something like  
> ap_hard_time_out() ?
> 
> or how to use a function like poll with a request_rec ? to detect if  
> the client is ready to receive a packet

I think the ap functions handle this internally, so I don't know how
you would hook into those things.

This probably doesn't answer your question, generally, the application
does not deal with socket issues. If you wish to kill off the socket,
you might find looking for the file descriptor, or socket handle via
the source address and source port helpful, to then write a FIN/RST or
close it. But this is probably random land and I advise that you don't
give up too much time on this track.

-- 
The SCSI Controller to the Netapp is going off like a car alarm because
of a trailing space in /etc/netgroups. Microsoft is RNA.
:: http://www.s5h.net/ :: http://www.s5h.net/gpg