[omniORB] Use of _non_existent

Wilson Jimmy - jiwils Jimmy.Wilson@acxiom.com
Tue, 12 Mar 2002 10:17:17 -0600


I've been using _non_existent to determine if an object is around or not for
some time, and today I was told that was an invalid way to do this (the
servants are using TAO 1.1.6).  I was quoted the following from the CORBA
bible.  I do not have the book, so I was curious if some on this list could
enlighten me as to what context (no pun intended) this quote is taken from:

The use of _non_existent is not a valid way of determination of validity of
one of the director objects because we have not overidden the _non_existent
call, and the default behavior of this call is *false* (p 453 Advanced Corba
Programming in C++, Henning & Vinoski).

What is the exact quote?  The above mixes opinion with fact I feel sure.
Especially the presence of 'we' in the first sentence.

Does a servant implementation have to always override _non_existent?  I
thought that typically an ORB would handle a non_existent request not the
actual servant.  Even so, if false is the default implementation doesn't
that really give me the behavior I want?  If _non_existent returns false by
default that is great so long as I can get to the object.  A false would
indicate that happened.  If _non_existent throws an exception, then I know
that I am not guaranteed that it exists or is reachable.  Have I
misinterpreted here?  I even check the comp.object.corba newsgroup and Michi
Henning's posts seem to indicate that I have interpreted correctly.

Thanks for your input.

> Jimmy
> -- 
> James "Jimmy" Wilson
> Software Developer, Acxiom Corporation


********************************************************************

The information contained in this communication is
confidential, is intended only for the use of the recipient
named above, and may be legally privileged.
If the reader of this message is not the intended
recipient, you are hereby notified that any dissemination, 
distribution, or copying of this communication is strictly
prohibited.
If you have received this communication in error,
please re-send this communication to the sender and
delete the original message or any copy of it from your
computer system. Thank You.