OSF DCE Application Development Guide--Core Components

Topics in RPC Application Development
Single address space
Multithreaded RPC application
Remote server
The server application
thread (listening)
remote
procedure
Call thread acting
as a client
4
Calling
code
A client application
thread
RPC thread
1
2
3
Call thread
Second
remote
procedure
Nested RPC thread
First
The application threads in the preceding figure are performing the following activities:
1. A client application thread from a multithreaded RPC application makes an initial
remote procedure call to the first remote procedure.
2. After converting the client binding handle into a server binding handle and
obtaining the endpoint for the address space of the calling client application
thread, the first remote procedure makes a nested call to the second remote
procedure at that address space.
3. The second remote procedure executes the nested call and returns it to the first
remote procedure.
4. The first remote procedure then resumes executing the initial call (the client).
16.6 Routing Remote Procedure Calls
The following section discusses routing incoming remote procedure calls between their
arrival at a server’s system and the server’s invocation of the requested remote
procedure. The following routing steps are discussed:
1. If a client has a partially bound server binding handle, before sending a call
request to a server, the client runtime must get the endpoint of a compatible server
from the endpoint mapper service of the server’s system. This endpoint becomes
the server address for a call request.
124245 Tandem Computers Incorporated 16 33