changeset 82:fa2c0358c2b6

Plan
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 11 Oct 2016 16:52:48 +0100
parents c6b6051b1b1a
children 154e94ea84d4
files vamp-client/client.cpp
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/vamp-client/client.cpp	Tue Oct 11 16:25:52 2016 +0100
+++ b/vamp-client/client.cpp	Tue Oct 11 16:52:48 2016 +0100
@@ -5,6 +5,22 @@
 
 #include "vamp-support/AssignedPluginHandleMapper.h"
 
+// First cut plan: this is to be client-qt.cpp, using a QProcess, so
+// we're using pipes and the server is completely synchronous,
+// handling only one call at once. Our PiperClient will fire off a
+// QProcess and refer to its io device. Each request message is
+// serialised into memory using capnp::MallocMessageBuilder and
+// shunted into the process pipe; we then wait for some bytes to come
+// back and use capnp::expectedSizeInWordsFromPrefix to work out when
+// a whole message is available, reading only that amount from the
+// device and using FlatArrayMessageReader to convert to a response
+// message. If the response message's id does not match the request
+// message's, then the server has gone wrong (it should never be
+// servicing more than one request at a time).
+
+// Next level: Capnp RPC, but I want to get the first level to work
+// first.
+
 namespace piper { //!!! probably something different
 
 class PiperClient : public PiperClientBase