On Wed, Mar 23, 2011 at 6:33 AM, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: > On 16.03.2011 11:11, Fujii Masao wrote: >> >> On Wed, Mar 16, 2011 at 4:49 PM, Fujii Masao<masao.fu...@gmail.com> >> wrote: >>> >>> Agreed. I'll change the patch. >> >> Done. I attached the updated patch. > > I don't much like the API for this. Walsender shouldn't need to know about > the details of the FE/BE protocol, pq_putbytes_if_available() seems too low > level to be useful. > > I think a better API would be to have a non-blocking version of > pq_putmessage(). We can make the output buffer in pqcomm.c resizeable, so > that when the message doesn't fit in the output buffer in pq_putmessage(), > the buffer is enlarged instead of trying to flush it. > > Attached is a patch using that approach. This is a much smaller patch, and > easier to understand. I'm not totally happy with the walsender main loop, it > seems to work as it is, but the logic has become quite complicated. Ideas > welcome on how to simplify that.
Heikki, are you planning to commit this, either with or without further revisions? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers