omniORB's NamingService

Sai-Lai Lo S.Lo@orl.co.uk
20 Aug 1997 18:20:16 +0100


Jörg Narr <jnarr@Comsys.DoFN.DE> writes:

> I did the following: I bound the server with a special name like aaa*
> where * is a unique number to a NamingContext. Before this 
> I look up the context for other servers with aaa and a unique number to
> retrieve their IOR's respectively their object implementation.
> Unfortunately I often got stringified IOR's I couldn't find in the
> omninames*.log file (with grep) and so calls to the retrieved 
> objects failed. My question now is: Can anybody tell me what the numbers
> IOR:*1 <ID> <KIND> <ncontext|nobject> IOR:*2 in the log-file
> are? 

It is not a good idea to try to decode what is in omninames*.log. Why not
getting the same information though the proper interface of the naming
service? 


> I saw that the first (*1) second (*2) IOR are different. When I
> print out the retrieved object with
> orb->object_to_string(retrieved_object) I get another IOR I can't find
> in the log-file, too.

To satisfy the alignment requirements of CDR, there are padding bytes
inside an IOR. These bytes are not initialised and are ignored by any
compliant ORB. Given 2 IORs that refers to the same object, the padding
bytes in the IORs may differ. The stringified form of an IOR is a hex dump
of an IOR and includes the padding bytes. Therefore, the stringified
version of 2 IORs may differ even if they are referring to the same object.

Regards,

Sai-Lai

-- 
E-mail:         S.Lo@orl.co.uk          |       Olivetti & Oracle Research Lab
                                        |       24a Trumpington Street
Tel:            +44 223 343000          |       Cambridge CB2 1QA
Fax:            +44 223 313542          |       ENGLAND