This page has been translated automatically.
Setting Up Development Environment
High-Level Systems
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
Double Precision Coordinates
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.


This article describes the data/samples/syncker/rpc_00.cpp sample.

The rpc_00 sample demonstrates how to:

  • Call a remote procedure on all slaves from the world script running on the master side.
  • Operate with a value received from the remote procedure.

You need to open the console on the master and slave computers to see the sample output. Press the grave accent (`) key placed under the ESC key to call the console.

Remote procedure call (RPC) is initiated by the master, which tells the slaves to execute the specified procedure. The remote procedure call usually requires when some event (e.g. calculation) occurs on the master and you need to tell the slaves what to render according to this event.

The remote procedure is defined in the world script running on the slave side. It prints the received value in the console and returns the hello from slave string.

Source code (UnigineScript)
int rpc_function(int value) {
	log.message("Argument from master: %s\n",typeinfo(value));
	return "hello from slave";

In the master world script, the hello from master string is passed to the procedure.

Source code (UnigineScript)
Unigine::Syncker::Master::worldCall(~0,"rpc_function",("hello from master"),ret);
So, on all of the slaves the following message is printed in the console:
Source code
Argument from master: string: "hello from master"
The value received from the remote procedure appears in the console on the master side as follows:
Source code
Result from "": string: "hello from slave"

See Also

Last update: 2017-07-03
Build: ()