/
dinruspro
/
reference
Обзор
Документация
Войти
/
dinruspro
/
reference
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
Rpc/Rpc.cpp
58 строк
1 KB
EnergonV
Справка по коду перекочевала в репозиторий (наконец-то!)
09 янв 2024, 19:20
09 янв 2024, 19:20
e333663
Код
Авторство
О чём код?
#include <Core/Core.h> #include <Core/Rpc/Rpc.h> using namespace Upp; RPC_METHOD(Multiply) { int m, n; rpc >> m >> n; rpc << m * n; } RPC_METHOD(Multiply2) { int m = rpc++; int n = rpc++; rpc = m * n; } RPC_METHOD(Divide) { int m = rpc++; int n = rpc++; if(n == 0) ThrowRpcError("divide by zero"); rpc = m / n; } RPC_METHOD(MultiplyNamed) { int n = rpc["first"]; int m = rpc["second"]; rpc = m * n; } RPC_METHOD(JsonMultiply) { Value v = rpc++; rpc = Json("result", (int)v["first"] * (int)v["second"]); } CONSOLE_APP_MAIN { StdLogSetup(LOG_COUT|LOG_FILE); // LogXmlRpcRequests(); // SetXmlRpcServerTrace(UppLog()); // Working in "shortened" mode - without URL specified, RpcRequests are performed by methods in // the same process. DUMP(JsonRpcRequest()("Multiply", 2, 3).Execute()); DUMP(JsonRpcRequest()("Multiply2", 4, 5).Execute()); DUMP(XmlRpcRequest()("Multiply2", 6, 7).Execute()); DUMP(JsonRpcRequestNamed()("MultiplyNamed")("first", 8)("second", 9).Execute()); DUMP(JsonRpcRequest()("Divide", 2, 0).Execute()); DUMP(JsonRpcRequest()("Divide", 20, 4).Execute()); DUMP(JsonRpcRequest()("JsonMultiply", Json("first", 4)("second", 10)).Execute()); }