summaryrefslogtreecommitdiff
path: root/docs_oos/data/remote/data_client.loopback.json
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2026-11-07 17:30:41 +0100
committerClaudius "keldu" Holeksa <mail@keldu.de>2026-11-07 17:30:41 +0100
commit55fb3a9221ea91453573453288ecedb6ea79b7ba (patch)
tree128945e3e15ae03a11c46f9e490f4dbaafa5de67 /docs_oos/data/remote/data_client.loopback.json
parentc90823bde9aea6b8f4c9737a0d8d5cd17560e8b9 (diff)
downloadforstio-forstio-55fb3a9221ea91453573453288ecedb6ea79b7ba.tar.gz
Creating out of source doc files
Diffstat (limited to 'docs_oos/data/remote/data_client.loopback.json')
-rw-r--r--docs_oos/data/remote/data_client.loopback.json112
1 files changed, 112 insertions, 0 deletions
diff --git a/docs_oos/data/remote/data_client.loopback.json b/docs_oos/data/remote/data_client.loopback.json
new file mode 100644
index 0000000..515209d
--- /dev/null
+++ b/docs_oos/data/remote/data_client.loopback.json
@@ -0,0 +1,112 @@
+{
+ "format": 1,
+ "id": "saw-data_client-loopback",
+ "kind": "class",
+ "name": "data_client",
+ "namespace": "saw",
+ "module": "remote",
+ "header": "modules/remote/c++/transfer_loopback.hpp",
+ "is_special": true,
+ "specializes": "saw-data_client",
+ "arguments": ["Schema", "Encoding", "rmt::Loopback"],
+ "brief_description": "Talks to a data server in the same process.",
+ "detailed_description": [
+ [
+ "Every call forwards straight to the server, so nothing is serialized and nothing can fail on the way. Ids are asked for rather than guessed, because the server is the only instance which knows about every client."
+ ]
+ ],
+ "templates": [
+ {"name": "Schema", "kind": "type"},
+ {"name": "Encoding", "kind": "type"}
+ ],
+ "attributes": {
+ "saw-data_client-loopback-srv_": {
+ "id": "saw-data_client-loopback-srv_",
+ "name": "srv_",
+ "type": ["ptr<", {"name": "data_server", "id": "saw-data_server-loopback"}, "< Schema, Encoding, rmt::Loopback > >"],
+ "visibility": "private"
+ }
+ },
+ "functions": {
+ "saw-data_client-loopback-next_free_id": {
+ "id": "saw-data_client-loopback-next_free_id",
+ "name": "next_free_id",
+ "type": ["error_or< id< Schema > >"],
+ "brief_description": "Asks the remote for an id which is not in use yet.",
+ "detailed_description": [
+ [
+ "Free here, a roundtrip on a backend which is not in process. Worth avoiding when the server can pick the id itself."
+ ]
+ ]
+ },
+ "saw-data_client-loopback-send-1": {
+ "id": "saw-data_client-loopback-send-1",
+ "name": "send",
+ "type": ["error_or< id< Schema > >"],
+ "brief_description": "Sends data to the remote and returns the id it was stored under.",
+ "parameters": [
+ {"name": "dat", "type": ["const data< Schema, Encoding > &"]}
+ ]
+ },
+ "saw-data_client-loopback-send-2": {
+ "id": "saw-data_client-loopback-send-2",
+ "name": "send",
+ "type": ["error_or< void >"],
+ "brief_description": "Sends data to the remote and stores it under a specific id.",
+ "parameters": [
+ {"name": "dat", "type": ["const data< Schema, Encoding > &"]},
+ {"name": "dat_id", "type": ["id< Schema >"]}
+ ]
+ },
+ "saw-data_client-loopback-allocate": {
+ "id": "saw-data_client-loopback-allocate",
+ "name": "allocate",
+ "type": ["error_or< id< Schema > >"],
+ "brief_description": "Preallocates data on the remote without sending a value.",
+ "parameters": [
+ {
+ "name": "meta",
+ "type": ["const data< typename meta_schema< Schema >::MetaSchema, Encoding > &"],
+ "brief_description": "Dimensions and whatever else the schema needs to exist."
+ }
+ ]
+ },
+ "saw-data_client-loopback-receive": {
+ "id": "saw-data_client-loopback-receive",
+ "name": "receive",
+ "type": ["conveyor< data< Schema, Encoding > >"],
+ "brief_description": "Receives the data stored under an id.",
+ "detailed_description": [
+ [
+ "A conveyor even though this backend answers immediately, so code written against it keeps working on a backend which has to wait."
+ ]
+ ],
+ "parameters": [
+ {"name": "dat_id", "type": ["id< Schema >"]}
+ ]
+ },
+ "saw-data_client-loopback-erase": {
+ "id": "saw-data_client-loopback-erase",
+ "name": "erase",
+ "type": ["error_or< void >"],
+ "brief_description": "Erases the data stored under an id.",
+ "parameters": [
+ {"name": "dat_id", "type": ["id< Schema >"]}
+ ]
+ },
+ "saw-data_client-loopback-find": {
+ "id": "saw-data_client-loopback-find",
+ "name": "find",
+ "type": ["error_or< ptr< data< Schema, Encoding > > >"],
+ "brief_description": "Returns a pointer to the stored data itself.",
+ "detailed_description": [
+ [
+ "An exception for this backend. Here it is safe to use find from the client side, because the data never left the process."
+ ]
+ ],
+ "parameters": [
+ {"name": "dat_id", "type": ["id< Schema >"]}
+ ]
+ }
+ }
+}