comparison vamp-client/CapnpRRClient.h @ 210:df65480a08de

Merge branch 'master' into dev/rename-pluginstub
author Chris Cannam <cannam@all-day-breakfast.com>
date Thu, 09 Feb 2017 14:22:31 +0000
parents c67a0a945b6b ad6025dc0b04
children 3db4c7998faf
comparison
equal deleted inserted replaced
208:c67a0a945b6b 210:df65480a08de
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