On Sun, 10 Apr 2005, Oliver Jowett wrote:
> It'll be tricky to do this from a single codebase as the NIO changes
> would need to reach right down to the underlying protocol stream.. it
> seems hard to localize the changes.
Okay, then I implemented this using Socket.getInputStream().available()
calls.
Proof of concept attached.
PGConnection.getNotifies() now processes peding Async Notifies first - no
need to send polling queries to the server anymore. The result is zero
network traffic in the idle case.
Any comments?
I am unclear as to how to handle possible protocol errors (e.g. when what
we end up reading from the connection is not an 'A'sync Notify).
Theoretically, in a working connection this should not happen though.