Hi!
On Jul 25, 2008, at 9:03 PM, Eric Day wrote:
Question for the group: How much do we care about external
dependencies for the client library? For example, libevent is
already being used in the server, and there is certainly room to use
this in the client code. I don't expect many other external non-core
dependencies (if any), but I was curious if the "use common OSS libs
as much as possible" rule applies to the client lib as well. The
reason we may want to keep it dependency free is if it ends up being
built on other systems than the server supports (like windows, but
libevent does work there too).
I think we need a simple KISS library, though I would also love to see
an async built around libevent...
Cheers,
-Brian
One other thing I forgot to mention in the first email is that the
new client library will have support for multiple versions of the
wire protocol. For example, we can support any new changes for
drizzle alongside the various MySQL protocols.
-Eric
On Jul 24, 2008, at 12:26 PM, 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.
I'd appreciate your thoughts on it being part of drizzle, and any
other features or design principles to focus on.
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
--
_______________________________________________________
Brian "Krow" Aker, brian at tangent.org
Seattle, Washington
http://krow.net/ <-- Me
http://tangent.org/ <-- Software
_______________________________________________________
You can't grep a dead tree.
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp