drizzle-discuss team mailing list archive
Mailing list archive
New Client Library
I've been planning on writing a new client library for a couple
months now, and recently have finally had time to research and design
it. I was planning to develop and release this as it's own project,
but with the news of Drizzle, I thought it would be a more
appropriate place for it. Some key drivers for this project are:
1 - Support for asynchronous I/O. This would not just be for an
entire connection, but be able to toggle this at different times
throughout the connection (the socket code will always use ASIO, so
it would be a simple flag for library behavior).
2 - Finer granularity of what to cache in large response (and when to
do it). Be able to stream at the column or partial-column level (for
large text/blob). For example, if you are pulling down a large BLOB,
you could read it in smaller chunks to process or pass through in
3 - Improved buffer management over existing library.
4 - BSD or LGPL license.
This will be written in C (no C++ for broader integration) and other
language bindings can be built on it. I'll probably take some chunks
of protocol code out of dormando's proxy code (since this is also
BSD). Initially I'll be focusing on external client use and not
internal server code use (like for replication), but eventually we
could possibly work it in there too.
I'd appreciate your thoughts on it being part of drizzle, and any
other features or design principles to focus on.
(apologies if you got two messages, my first one was from an email
not registered with launchpad so it was probably blocked).