Passing parameters to remote procedures
Significant problems are introduced with parameter passing:
|
- Passing simple data types (by value)
such as integers, floating point numbers and
strings (character arrays) is easy.
The client-stub simply places copies of them in a calling packet.
- At worst, data types may need format conversion between machines
(performed by the Presentation Layer).
There exists a well defined data interchange standard -
the External Data Representation (XDR) for transferring data between
heterogeneous environments
(in [RFC1014]).
- To get an appreciation of the complexity of XDR, read the manual entry for
xdr or the header file (on Linux).
- Trouble arises when reference parameters must be passed.
When local procedures are invoked a reference parameter,
such as a pointer may be passed and followed by the procedure
(they have the same address space).
This is not true of RPCs!
|
CITS3002 Computer Networks, Lecture 10, Architecture independent applications, p6, 8th May 2024.
|