Previous | Table of Contents | Next |
To provide the information above, an “Interoperable Object Reference,? (IOR) data structure has been provided. This data structure
need not be used internally to any given ORB, and is not intended to be visible to application-level ORB programmers. It should
be used only when crossing object reference domain boundaries, within bridges.
This data structure is designed to be efficient in typical single-protocol configurations, while not penalizing multiprotocol
ones.
module IOP { // IDL
// Standard Protocol Profile tag values
typedef unsigned long ProfileId;
struct TaggedProfile { ProfileId tag; sequence <octet> profile_data;
};typedef sequence <TaggedProfile> TaggedProfileSeq ;
// an Interoperable Object Reference is a sequence of// object-specific protocol profiles, plus a type ID.
struct IOR { string type_id; sequence <TaggedProfile> profiles;
};
// Standard way of representing multicomponent profiles. // This would be encapsulated in a TaggedProfile.
typedef unsigned long ComponentId;
struct TaggedComponent { ComponentId tag; sequence <octet> component_data;
}; typedef sequence<TaggedComponent> TaggedComponentSeq; };