As a new ICE user I have run into the following problem (or perhaps
misunderstanding). Yes, I have pursued this on the Help Center forum.
Page 255 of the documentation, under 'Using Ice::Application on the
Client Side', says, "place the client code into its run method". It says
something similar on page 254 about the server side.
This, however, forces the user application to exist as a component of the
Ice client (or server). The more intuitive structure is one in which ICE is
a component of the user application. Not that this cannot be accomplished,
but it obviates the use of Ice::Application, which is a powerful tool. Not
using Ice::Application means, as the documentation points out, having to
supply all of the initialization and signal handling code on one's own.
Consider the situation in which two (or more) user applications, call them
XYZ and ABC, need to act as both client and server. One cannot place the
code for XYZ as client into the run method of Ice::Application and also
place the code for XYZ as server into the appropriate server run method;
all of this while doing exactly the same thing for ABC!
It makes, it seems to me, no architectural sense to make any large, complex
user application subordinate to the runtime thread of the Ice::Application
run method. One would not make a game subordinate to its GUI.
Is there no way out of this quandry other than objectifying the ICE client
(or server) and including it as a component in the Application, supplying
Ice::Application functionality manually?
Titus sends

Reply With Quote