2011/10/13 Jean-Sebastien Delfino <jsdelf...@apache.org>:
> On Tue, Oct 11, 2011 at 1:58 AM, Giorgio Zoppi <giorgio.zo...@gmail.com>
> wrote:
>>
>> > Hi there! a few thoughts:
>> > Tuscany-cpp has a hard dependency on HTTPD, used as runtime container
>> > instead or writing my own.
>> > Not sure if HTTPD mods can be easily ported to LightHTTPD. If it's
>> > feasible
>> > and people want to try, I can help with any questions you have on the
>> > Tuscany HTTPD mods.
>> > Some sizing info posted to the Tuscany user list last year, showing that
>> > HTTPD can be built small:
>> > http://marc.info/?l=tuscany-user&m=128031058024758&w=2
>> > Hope this helps.
>>
>> Hi Jean Sebastian,
>> some thoughts about SCA native. The roading map might be:
>> + remove pthread dependency in parallell.hpp with  the new c++
>> concurrent features. g++, Intel C++, MS C++ support really well.
Simply a thread could be created:

#include <thread>
#include <iostream>
void my_thread_func()
{
    std::cout<<"hello"<<std::endl;
}

int main()
{
    std::thread t(my_thread_func);
    t.join();
}

and compiled:

g++ thread.cpp -o thread -Wall -std=c++0x -lpthread
on linux for example.

For the mutex:
http://www.devx.com/SpecialReports/Article/38883/1954
The enviroment could be different and pthread not supported.

> Do you have a pointer to the equivalent features in g++, for example?
g++ support threads, mutex.

> Any equivalent in Clang? IIRC Daniel was trying to port the whole thing to
> Clang and I'm interested in that too.
no.

>
>>
>> + remove Axis/C dependency with gSOAP. Axis/C relies on java runtime,
>> afaik.
>
> Huh, you may want to double check that statement...
yes.

>>
>> This remove as well Apache2 dependency
>
> ... and that one too :)
Yes.
>>
>> + valuate if we can remove Curl dependency.
>> In my idea there is the option to use boost at some extent. net-cpp
>> based on boost asio,
>> works as curl.
>
> Are you saying that net-cpp provides features equivalent to curl? got a
> pointer to some docs with a feature comparison?

http://github.com/downloads/mikhailberis/cpp-netlib-boostcon-paper/cpp-netlib.pdf
http://cpp-netlib.github.com/

>>
>> + replace the python dependency with PyMite.
>> + remove any dependency on Java.
>> + move to autoconf tools to CMake.
>> + remove any SQL dependencies.
>> + introduce regression tests Boost:Test
>> + provide a flexible way for managing memory. You use apache pools. I
>> am not sure if you can use in a stricted memory enviroment,
>> with 512 kb/1M for example.
>
> Not sure if you've realized that, but -- with the exception of Curl, HTTPD
> and APR -- all the 'dependencies' you've listed there are already optional
> integration points. For example you only need Axis2/C if you decide to build
> the Tuscany Axis2/C integration component, you only need Python if you
> decide to build the support for Python components, only need PostgreSQL if
> you decide to build the PostgreSQL integration component.
Realized yesterday.
> In other words the Tuscany runtime does *not* depend on Axis2/C, Python,
> PostgreSQL, etc.

>> The idea is to branch from your native and starting to removing
>> things. Now I am thinking to a client.
>
> Yeah it's probably feasible to come up with a different runtime branch with
> the 'server code' removed for use in a client-only environment. I'm not sure
> how much code you'll be able to reuse eventually after you do that, so
> another approach could be to start fresh for the client-only runtime and
> pull bits of existing code where it actually helps...
I keep only one branch and add feature that allows to customize the runtime.

Reply via email to