The act of converting RMI call to message or extracting necessary value from message to call RMI is called marshaling.
ProudNet offers a marshaling function for the basic type such as int or float.
Of course, you can also use user-defined class type besides from the basic one. In order to use user-defined class type, you need to create overloading of following functions.
ProudNet's RMI function uses Proud.CMessage internally. And through overloading of above functions, RMI parameter gets marshaling.
Here is the case of using Proud.CMessage. Proud.CMessage holds message data that is used for converting RMI to message or reading parameter from message and also can be used as stream object.
How to stream marshaling function is shown in below.
In last, the header file that declares above overloading methods must be #include first before #include proxy and stub files generated by PIDL compiler.
The practical use of marshaling is guided in Sample code of marshaling custom type object or <Sample/CasualGame/GCServer/FarmCommon.h>.
Also you can check whether it works or not with Proud.TestMarshal()