Mercurial > hg > piper-cpp
comparison vamp-client/CapnpRRClient.h @ 187:ad6025dc0b04
Documentation
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 08 Feb 2017 10:09:51 +0000 |
parents | 3eb00e5c76c4 |
children | df65480a08de |
comparison
equal
deleted
inserted
replaced
186:52322dde68ea | 187:ad6025dc0b04 |
---|---|
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 |