I am looking for information on cpp-netlib, in order to evaluate it for
possible use in a new project. I have been trying to find documentation
of the library (high level and class level), but I haven't come across
anything apart from two rather short pages (the Requirements specs and
the Architecural doc) on the wiki. Is there anything beyond this
available?
Here is a summary of what we're looking for. I would very much
appreciate it if someone here could tell me if cpp-netlib is appropriate
for these requirements (or most of them):
* Support for both UDP and TCP
* Support for both synchronous and asynchronous I/O
* A unified API for different transport types (TCP / UDP)
* A chainable message filter interface
* Asynchronous handling of tasks (separate from the network I/O)
In particular, we are interested in a customizable concurrency model
(single thread / thread pool / multiple thread pools), which allows the
library user to specify parameters such as the following:
* The size of the thread pool
* The size of each thread's task queue
* What policy to use for the task queue's size (fixed size vs. grow as
needed)
* What data structure to use for the queue (vector, list, etc.)
We'd like an API that lets the user simply set these parameters, without
having to write the code that acually implements it all.
For a good example of what I'm talking about, see Apache MINA
[<http://mina.apache.org/>] (which is for Java). All of its features
[<http://mina.apache.org/features.html>] can, of course, be implemented
by a developer working directly with Java's networking and concurrency
API's -- but MINA provides a higher-level abstraction in which all the
"plumbing" is already taken care of. Similarly, we could implement our
needs by working directly with Boost.Asio, but I'm hoping that perhaps
cpp-netlib already provides the sort of framework we're looking for.
Does it?
One other thing -- where can the sources be downloaded from? Is there a
released tarball available (I haven't been able to find it), or do I
need to check it out of SVN?
Thanks for your help.
Sincerely,
Moshe Z. Matitya
Kayote Networks, Ltd.
|