OSF DCE Application Development Guide--Core Components

OSF DCE Application Development Guide—Core Components
If the client and server are character set compatible, and they support a common
code set into which one or the other (or both) can convert, the evaluation routine
deems the server to be compatible with the client. The NSI import routines return
this server’s binding information to the client.
7. The client makes the remote procedure call.
8. A client stub is called, with the character data represented in the local form and in
the local code set.
9. Before marshalling the input arguments, the client stub calls a new stub support
routine that retrieves code set identifying information that the evaluation routine
established in the binding handle.
10. The client stub next calls a new stub support routine that determines, based on the
code set identifying information, whether the character data needs to be converted
to another code set and, if so, whether the buffer that currently holds the character
data in the local form and code set is large enough to hold the data once it is
converted. If the routine determines that conversion is necessary and a new buffer
is required, it calculates the size of that buffer and returns the value to the client
stub.
11. The client stub next calls a new stub support routine that converts, based on the
code set identifying information, the character data from the local code set to the
appropriate code set to be used to transmit the data over the network to the server
(called the network code set).
12. The client stub then marshalls the input arguments and transmits them to the server
runtime along with code set identifying information.
13. The server stub is called, with the character data represented in the network form
(which is always idl_byte) and in the network code set.
14. The server stub unmarshalls the input arguments.
15. The server stub next calls a new stub support routine that determines, based on the
code set identifying information passed in the client call, whether the character
data needs to be converted from the network code set to the server’s local code set
and, if so, whether the buffer that currently holds the character data in the network
format and code set is large enough to hold the data once it is converted. If the
routine determines that conversion is necessary and a new buffer is required, it
calculates the size of that buffer and returns the value to the server stub.
16. The server stub next calls a new stub support routine that converts, based on the
code set identifying information, the character data from the code set used on the
network to the server’s local code set.
17. The server stub invokes the manager routine to execute the remote procedure.
18. Before marshalling the results of the remote procedure (the output arguments and
return values), the server calls a new stub support routine to determine whether
conversion from the server’s local code set is necessary, based on the code set
identifying information it received from the client, and whether or not the buffer
currently holding the character data is large enough to accommodate the converted
data. If a new buffer is required, the stub support routine calculates the size of this
new buffer and returns it to the server stub.
15 6 Tandem Computers Incorporated 124245