Eric wrote: > Hi! > > 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 applications. > > 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.
Sounds fine to me. We're also working on extricating the current client lib into a fully stand alone lib. I would love it if, in general, the server didn't need anything special to use a client lib (again, for rep or whatever) but instead could just behave like a normal consumer of the lib. If the API isn't broad enough, we'll extend the API. (I do not like special-internal-use-only versions) > I'd appreciate your thoughts on it being part of drizzle, and any other > features or design principles to focus on. I personally have no problem with that... although given that we're trying to move the current client lib _out_ of the tree, it might be a decent idea to make a separate tree, but still associate it with the drizzle project. (if you push to lp:~username/drizzle/my-new-client-lib, it'll do that) > Thanks! > -Eric > > (apologies if you got two messages, my first one was from an email not > registered with launchpad so it was probably blocked). > > _______________________________________________ > Mailing list: https://launchpad.net/~drizzle-discuss > Post to : [email protected] > Unsubscribe : https://launchpad.net/~drizzle-discuss > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

