.. _rpc_lesson2_rst: rpc_lesson2 ================================= Three models run in a client-server, remote procedure call (RPC) communication pattern. The two client models (`client1` & `client2`) send requests and receive response to/from the server model `server` via the deprecated `call` method. The server model receives requests and send responses. This example demostrates the RPC pattern through the use of the `client_of` and `is_server` model parameters and the RPC interface classes/functions. The `client1` & `client2` models also send request/response pairs to files in the temporary directory and receive parameters via the command line as specified in the YAML (both model call the same source code). The `server` model receives parameters as input from a file. .. contents:: :local: C Version --------- Model Code: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/server.c :language: c :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/client.c :language: c :linenos: Model YAML: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/server_c.yml :language: yaml :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/client_c.yml :language: yaml :linenos: C++ Version ----------- Model Code: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/server.cpp :language: c++ :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/client.cpp :language: c++ :linenos: Model YAML: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/server_cpp.yml :language: yaml :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/client_cpp.yml :language: yaml :linenos: Fortran Version --------------- Model Code: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/server.f90 :language: python :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/client.f90 :language: python :linenos: Model YAML: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/server_fortran.yml :language: yaml :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/client_fortran.yml :language: yaml :linenos: Julia Version ------------- Model Code: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/server.jl :language: python :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/client.jl :language: python :linenos: Model YAML: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/server_julia.yml :language: yaml :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/client_julia.yml :language: yaml :linenos: Matlab Version -------------- Model Code: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/server.m :language: matlab :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/client.m :language: matlab :linenos: Model YAML: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/server_matlab.yml :language: yaml :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/client_matlab.yml :language: yaml :linenos: Python Version -------------- Model Code: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/server.py :language: python :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/client.py :language: python :linenos: Model YAML: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/server_python.yml :language: yaml :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/client_python.yml :language: yaml :linenos: R Version --------- Model Code: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/server.R :language: python :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/src/client.R :language: python :linenos: Model YAML: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/server_r.yml :language: yaml :linenos: .. literalinclude:: /../../../../../../../opt/hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/yggdrasil/examples/rpc_lesson2/client_r.yml :language: yaml :linenos: