This page has been translated automatically.
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Usage Examples
API Reference
Integration Samples
Usage Examples
C++ Plugins
Migrating to UNIGINE 2.0
C++ API Migration
Migrating from UNIGINE 2.0 to UNIGINE 2.1
This version of documentation is OUTDATED! Please switch to the latest one.


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: ()