diff options
Diffstat (limited to 'docs_oos/data/remote/data_client.loopback.json')
| -rw-r--r-- | docs_oos/data/remote/data_client.loopback.json | 112 |
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 >"]} + ] + } + } +} |
