Mercurial > hg > piper-cpp
view vamp-client/SynchronousTransport.h @ 99:b2ec891c22b9
Should not be tracking Makefile (we have a project file)
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Fri, 14 Oct 2016 12:46:16 +0100 |
parents | 427c4c725085 |
children | ff3fd8d1b2dc |
line wrap: on
line source
#ifndef PIPER_SYNCHRONOUS_TRANSPORT_H #define PIPER_SYNCHRONOUS_TRANSPORT_H #include <vector> #include <cstdlib> namespace piper_vamp { namespace client { class MessageCompletenessChecker // interface { public: virtual ~MessageCompletenessChecker() = default; virtual bool isComplete(const std::vector<char> &message) const = 0; }; class SynchronousTransport // interface { public: virtual ~SynchronousTransport() = default; //!!! I do not take ownership virtual void setCompletenessChecker(MessageCompletenessChecker *) = 0; //!!! how to handle errors -- exception or return value? often an //!!! error (e.g. server has exited) may mean the transport can no //!!! longer be used at all virtual std::vector<char> call(const char *data, size_t bytes) = 0; virtual bool isOK() const = 0; }; } } #endif