comparison vamp-client/CapnpRRClient.h @ 209:ac4f5f8ee0e7

Merge branch 'dev/step-and-block-size'
author Chris Cannam <cannam@all-day-breakfast.com>
date Thu, 09 Feb 2017 14:16:37 +0000
parents ad6025dc0b04
children df65480a08de
comparison
equal deleted inserted replaced
205:587e9691a44e 209:ac4f5f8ee0e7
64 * RpcRequest/RpcResponse structures with a single process call rather 64 * RpcRequest/RpcResponse structures with a single process call rather
65 * than having individual RPC methods, with a synchronous transport 65 * than having individual RPC methods, with a synchronous transport
66 * such as a subprocess pipe arrangement. Only one request can be 66 * such as a subprocess pipe arrangement. Only one request can be
67 * handled at a time. This class is thread-safe if and only if it is 67 * handled at a time. This class is thread-safe if and only if it is
68 * constructed with a thread-safe SynchronousTransport implementation. 68 * constructed with a thread-safe SynchronousTransport implementation.
69 *
70 * This class takes Vamp-like structures (Plugin and the classes in
71 * vamp-support) and uses them to communicate with a Piper server
72 * using the Cap'n Proto serialisation of the Piper API. The transport
73 * layer (and thus the nature of the server) is defined by the
74 * SynchronousTransport passed to the constructor.
75 *
76 * This class implements both the Loader interface (which constructs
77 * PluginStub objects) and the PluginClient (which accepts PluginStubs
78 * and maps them into Piper handles).
69 */ 79 */
70 class CapnpRRClient : public PluginClient, 80 class CapnpRRClient : public PluginClient,
71 public Loader 81 public Loader
72 { 82 {
73 // unsigned to avoid undefined behaviour on possible wrap 83 // unsigned to avoid undefined behaviour on possible wrap