{ "format": 1, "id": "saw-rpc_server", "kind": "class", "name": "rpc_server", "namespace": "saw", "module": "remote", "header": "modules/remote/c++/remote.hpp", "brief_description": "Implementation of a remote server on the backend.", "detailed_description": [ [ "Holds the interface whose functions clients call." ], [ "The server never receives a parameter as data, only the id of a value already sitting in the matching", {"name": "data_server", "id": "saw-data_server"}, "which is what keeps the rpc layer an overlay on the transport layer." ] ], "templates": [ { "name": "Iface", "kind": "type", "brief_description": "Interface schema the server provides." }, { "name": "Encoding", "kind": "type", "brief_description": "Encoding of the parameters and responses." }, { "name": "Remote", "kind": "type", "brief_description": "Tag type of the backend." } ], "attributes": { "saw-rpc_server-iface_": { "id": "saw-rpc_server-iface_", "name": "iface_", "type": ["interface< Iface, Encoding >"], "visibility": "private" } }, "functions": { "saw-rpc_server-ctor": { "id": "saw-rpc_server-ctor", "name": "rpc_server", "type": [], "parameters": [ { "name": "iface", "type": ["interface< Iface, Encoding >"], "brief_description": "The functions this server answers with." } ] } }, "specializations": [ { "name": "rpc_server< Iface, Encode, rmt::Loopback >", "id": "saw-rpc_server-loopback", "brief_description": "Answers calls inline, resolving ids against the data servers of the same address." } ] }