OmniNames and bind_context

Tristan Richardson tjr@cam-orl.co.uk
Fri, 02 Jan 1998 16:36:33 +0000


>>>>> Gary Duzan writes:
> 
>    That's the point. As of 2.2.0, it doesn't. And I just tried the version
> with the 2.4.0 snapshot, and it is incorrect, too.
> 
> % ./nameclt bind_new_context foo context
> IOR:00f21f5c0000002049444c3a436f734e616d696e672f4e616d696e67436f6e746578743a312e300000000001000000000000002c000100000000000f3133322e3139372e3131322e32340000270f00000000000c34a1468e882d620e00000004
> % ./nameclt bind bar context IOR:00f21f5c0000002049444c3a436f734e616d696e672f4e616d696e67436f6e746578743a312e300000000001000000000000002c000100000000000f3133322e3139372e3131322e32340000270f00000000000c34a1468e882d620e00000004
> % ./nameclt list
> (foo,context) binding type ncontext
> (bar,context) binding type nobject
> % ./nameclt list bar context
> 
>    The last line should generate an exception (either NotFound or
> CannotProceed; not really sure which is better) but does not.
> 

I think you're getting confused here between the behaviour of nameclt and the
behaviour of omniNames itself.  When you do 

% ./nameclt list bar context

what is happening is that nameclt talks to the initial name server, gets an
object reference for "bar", narrows it to a context and then invokes the
list() operation on that context.  omniNames is correctly treating the binding
for "bar" like any other -- it is nameclt which treats it as a context.

The real test is whether you can resolve a binding inside the "bar" context
by only talking to the initial name server.  For example say within "bar"
you have a binding for an object "x","y" then when you try:

% ./nameclt resolve bar context x y

you will get a NotFound exception with why = not_context.



Tristan

+--------------------------------------------------------------------+
|  Tristan Richardson                 Email:  tjr@orl.co.uk          |
|  ORL                                  Tel:  +44 1223 343000        |
|  24a Trumpington Street               Fax:  +44 1223 313542        |
|  Cambridge, CB2 1QA, UK               WWW:  http://www.orl.co.uk/  |
+--------------------------------------------------------------------+
|          ORL - The Olivetti & Oracle Research Laboratory           |
+--------------------------------------------------------------------+