Mercurial > hg > piper-cpp
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