diff options
author | Chris Cleeland <chris.cleeland@gmail.com> | 1998-01-29 21:11:54 +0000 |
---|---|---|
committer | Chris Cleeland <chris.cleeland@gmail.com> | 1998-01-29 21:11:54 +0000 |
commit | 657d3e048fa581dad1b38f332b342feb317e6919 (patch) | |
tree | d14cd2794a32bc613e5ee9146fd128ef12a94cf8 | |
parent | 78cb221ec68673afd90bf6e9ac842cba06ca1747 (diff) | |
download | ATCD-657d3e048fa581dad1b38f332b342feb317e6919.tar.gz |
* tests/Param_Test/run_test: Added a longer delay, changed port #,
and made all output be prefaced by either "SERVER: " or
"CLIENT(<type>): ".
* tao/poa.cpp: Re-ordered member initializers to de-warn g++.
* orbsvcs/Dump_Schedule/Dump_Schedule.cpp: _narrow needs to be
passed a .in() from _vars (you get a lollipop if you understand
that comment).
* docs/poa_migration.html: Added this file to start the ball
rolling. Right now it's poorly-formatted and a rehash of some
emails, but it will be refined and grow over time.
-rw-r--r-- | TAO/ChangeLog-98c | 16 | ||||
-rw-r--r-- | TAO/docs/poa_migration.html | 44 | ||||
-rw-r--r-- | TAO/orbsvcs/Dump_Schedule/Dump_Schedule.cpp | 2 | ||||
-rw-r--r-- | TAO/tao/poa.cpp | 4 | ||||
-rwxr-xr-x | TAO/tests/Param_Test/run_test | 8 |
5 files changed, 67 insertions, 7 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c index 57c9668d50d..faa59357efb 100644 --- a/TAO/ChangeLog-98c +++ b/TAO/ChangeLog-98c @@ -1,3 +1,19 @@ +Thu Jan 29 14:59:01 1998 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * tests/Param_Test/run_test: Added a longer delay, changed port #, + and made all output be prefaced by either "SERVER: " or + "CLIENT(<type>): ". + + * tao/poa.cpp: Re-ordered member initializers to de-warn g++. + + * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: _narrow needs to be + passed a .in() from _vars (you get a lollipop if you understand + that comment). + + * docs/poa_migration.html: Added this file to start the ball + rolling. Right now it's poorly-formatted and a rehash of some + emails, but it will be refined and grow over time. + Thu Jan 29 12:33:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> * orbsvcs/tests/Simple_Naming/clnt.cpp: diff --git a/TAO/docs/poa_migration.html b/TAO/docs/poa_migration.html new file mode 100644 index 00000000000..89d152b44ff --- /dev/null +++ b/TAO/docs/poa_migration.html @@ -0,0 +1,44 @@ +Migrating from BOA to POA + +Client side: +<ul> +<li>Very little has changed, and some have not needed any changes.</li> +<li>You'll have to insure that the Makefile includes .o's for both the server +and client; this is necessary to support collocation.</li> +</ul> + +Server side: +<li>POA_init() is replaced with resolve_initial_references("RootPOA") followed> +by a _narrow operation.</li +<li>The implementation no longer inherits from the client-side stub; they +inherit from PortableServer::ServantBase. The implications of this are (a) if +you want a object reference for that, you must use the _this() method.</li> +<li>Object ID's are assigned by the POA unless you activate the servant with a +specific ID; IDL_Cubit has examples on how to do this.</li> +<li>Unlike the BOA, the POA explicitly addresses the temporal nature of servants> +and declares that a POA can service either transient or persistent servants +(not both). The root POA's (mandated, unchangeable) policy is "transient". +The implications of this are that in order for a client to be able to +manufacture an object reference on its own and use that to access an object, +the servant for that object must be registered with a POA whose policy is +"persistent". Thus, you must create a child POA with that policy and register +the servant with that POA. NOTE: when the POA declares something as +"persistent", it is only stating that the key is valid between different runs +of the server; it makes no claims that state or anything else is persistent.</li + +<ul> + <li> Servants are not automatically activated, hence you must register + them by calling some of the activate_object* methods on a POA or + calling _this() on the servant; with the latest you have no control on + the ObjectId (which sometimes is good), and the POA must support the + right policies (the RootPOA does).</li> + + <li>Servant constructors use to take a <const char*> parameter to set + they object id, this is not needed now, in fact in many cases they use + to pass this argument to the skeleton class: this will fail now.</li> +</ul> +This list is not intended to be exhaustive, but should give you a good +starting point. If you find things along the way which have to change and I +didn't note them, please send them to me. Perhaps we can work together on the +ultimate migration document. + diff --git a/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.cpp b/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.cpp index 49b79e26228..18be67cb507 100644 --- a/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.cpp +++ b/TAO/orbsvcs/Dump_Schedule/Dump_Schedule.cpp @@ -30,7 +30,7 @@ int main (int argc, char *argv[]) 1); PortableServer::POA_var root_poa = - PortableServer::POA::_narrow (poa_object, TAO_TRY_ENV); + PortableServer::POA::_narrow (poa_object.in(), TAO_TRY_ENV); TAO_CHECK_ENV; PortableServer::POAManager_var poa_manager = diff --git a/TAO/tao/poa.cpp b/TAO/tao/poa.cpp index 6c31ba52759..910cb7a725b 100644 --- a/TAO/tao/poa.cpp +++ b/TAO/tao/poa.cpp @@ -3207,9 +3207,9 @@ TAO_Strategy_POA_Manager::lock (void) TAO_POA_Current::TAO_POA_Current (void) : poa_impl_ (0), object_id_ (0), - servant_ (0), object_key_ (0), - cookie_ (0) + cookie_ (0), + servant_ (0) { } diff --git a/TAO/tests/Param_Test/run_test b/TAO/tests/Param_Test/run_test index 48ec4b4922c..4823bf29711 100755 --- a/TAO/tests/Param_Test/run_test +++ b/TAO/tests/Param_Test/run_test @@ -1,10 +1,10 @@ #!/bin/sh -PORT=20000 +PORT=20001 IORFILE=theior start_server() { - ./server -ORBport $PORT -o $IORFILE & + ./server -ORBport $PORT -o $IORFILE 2>&1 | sed -e 's/^/SERVER: /' & } # Restart the server if we get SIGCHLD, i.e., the server died. @@ -16,7 +16,7 @@ TYPES="short ubstring fixed_struct var_struct nested_struct struct_seq objref" for type in $TYPES do echo "BEGIN Testing type $type" - sleep 1 # Give the server a chance to start up - ./client -f `cat $IORFILE` -t $type + sleep 2 # Give the server a chance to start up + ./client -f `cat $IORFILE` -t $type 2>&1 | sed -e "s/^/CLIENT($type): /" echo "END Testing type $type" done |