axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kenneth Chiu <ch...@cs.indiana.edu>
Subject Re: Memory management issues with Axis C++ and CAX-RPC :)
Date Tue, 23 Sep 2003 05:49:02 GMT
On Thu, 18 Sep 2003, Susantha Kumara wrote:
> Hi all,
>
> As you know in C and C++ we have to manage memory our
> selves. For web services frameworks written in java most
> of the rules (specifications) are in JAX-RPC. But for C++
> there is no such an specification drawn. So I think as
> opensource developers of C/C++ web service framework we
> have to come up with such an specification for C/C++.
> Other than the similar specifications in JAX-RPC in this
> CAX-RPC :) we have to have specification for memory
> management.
>
> In this context what I mean by memory mangement is related
> to serialization and deserialization.
>
> For an example in Axis C++ now, the Deserializer creates
> and populates the objects and passes to the web service
> and its the responsibility of the web service to delete
> them.
>
> In Axis C++ we use the same Serialization/Deserialization
> code for both server side and the client side.
>
> IMO we have to have set of specifications for memory
> management at both client side and the server side.
>
> What we have thought of at the moment is as follows,
>
> Client
> Application<--->ClientAxisEngine<---transport--->ServerAxisEngine<--->Server
Application(web service).
>
> For the client-side,
> * Objects for serialization (outbound message) are created
>   and deleted (or freeed) by the client applicaton.
> * Objects for deserialization (inbound message) may be
>   created by both client application and the
>   ClientAxisEngine. But deleted (or freeed) by client
>   application.
>
> For the server side,

> * Objects for serialization (outbound message) are created
>   by the web service (server application) and deleted by the
>   ServerAxisEngine.
> * Objects for deserialization (inbound message) are created
>   by ServerAxisEngine and deleted by the web service (server
>   application).
>
> please put on your C/C++ hats and help us to take the
> correct decision.
>
> we are looking forward for your support in this and is
> greatly appreciated.

You might want to consider a reference-counting based
approach, with either smart pointers or wrappers.

Mime
View raw message