1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
4
<!-- ORB_Internals.html,v 1.1 1999/09/13 15:03:52 coryan Exp -->
5
<title>TAO ORB Internals</title>
9
<h1>TAO ORB Internals</h1>
11
<P>This document will describe how the ORB internals work, with
12
special attention to the areas that are more poorly documented.
13
For example: we will not document (at least initially) the
14
pluggable protocols framework, the interpretive marshaling
15
engine, the POA, the waiting strategies and the
18
<P>New ORB developers are expected to read this document and
19
document here all the things that they find hard to understand,
20
surprizing or event broken.
21
New members of the ORB core team are expected to fill in details
22
that were not explained before.
25
<H3>Client Side event sequence</H3>
27
<P>In this section we will document the sequence of calls and
28
interactions on the client side.
29
Only the synchronous case, without forwarding or exceptions is
30
documented at this point.
33
<P>Assume the application invokes a method on an object reference,
34
in the generated stub for that method the following sequence is
37
<LI>creates TAO_GIOP_Twoway_Invocation object
39
<LI>calls start method on the invocation object
42
<LI>TAO_GIOP_Twoway_Invocation::start:
44
<LI>finds the profile to use for this invocation
46
<LI>passes the profile to Connector Registry to obtain
47
TAO_Transport object (wrapper around Service_Handler)
49
<LI>generates and marshalls GIOP & Request headers for this
55
<LI>marshalls request parameters
57
<LI>calls invoke method on the invocation object
60
<LI>TAO_GIOP_Twoway_Invocation::invoke:
62
<LI>sets TAO_Reply_Dispatcher (this is used to make both
63
synch and asynch requests look the same)
67
<LI>waits on the TAO_Wait_Strategy
72
<LI>if there was a minor problem or location forward, tries
73
again: call TAO_GIO_Twoway_Invocation::start, etc.
75
<LI>if everything went ok, demarshalls reply
81
<address><a href="mailto:coryan@cs.wustl.edu">Carlos O'Ryan</a></address>
82
<!-- Created: Fri Sep 10 16:34:44 CDT 1999 -->
84
Last modified: Fri Sep 10 18:00:18 CDT 1999