From beed9c20da5fbacf8626e2d4b747bb84ae7f6d93 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Sat, 7 Nov 2026 17:49:12 +0100 Subject: Moved docs around --- docs/data/remote/data_client.loopback.json | 112 +++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 docs/data/remote/data_client.loopback.json (limited to 'docs/data/remote/data_client.loopback.json') diff --git a/docs/data/remote/data_client.loopback.json b/docs/data/remote/data_client.loopback.json new file mode 100644 index 0000000..515209d --- /dev/null +++ b/docs/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 >"]} + ] + } + } +} -- cgit v1.3.1