On 5/3/05, Dave Held <dave.held@arraysg.com> wrote:
> > -----Original Message-----
> > From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> > Sent: Tuesday, May 03, 2005 12:39 PM
> > To: Heikki Linnakangas
> > Cc: Hannu Krosing; Neil Conway; Oliver Jowett;
> > adnandursun@asrinbilisim.com.tr; Peter Eisentraut; Alvaro Herrera;
> > pgsql-hackers@postgresql.org
> > Subject: Re: [HACKERS] Feature freeze date for 8.1
> >
> > [...]
> > BTW, the upthread proposal of just dropping the message (which is what
> > O_NONBLOCK would do) doesn't work; it will lose encryption sync on SSL
> > connections.
>
> How about an optional second connection to send keepalive pings?
> It could be unencrypted and non-blocking. If authentication is
> needed on the ping port (which it doesn't seem like it would need
> to be), it could be very simple, like this:
>
> * client connects to main port
> * server authenticates client normally
> * server sends nonce token for keepalive authentication
> * client connects to keepalive port
> * client sends nonce token on keepalive port
> * server associates matching keepalive connection with main
> connection
> * if server does not receive matching token within a small
> timeout, no keepalive support enabled for this session
>
This will not work through firewalls. Is it not possible for the
server to test the current network connection with the client?