Mercurial > hg > piper-cpp
view vamp-client/SynchronousTransport.h @ 93:fbce91785d35
Having a class called PipedXX is too confusing with all the Piper classes; give up and rename it
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 13 Oct 2016 12:07:41 +0100 |
parents | 21f8af53eaf0 |
children | a660dca988f8 |
line wrap: on
line source
#ifndef PIPER_SYNCHRONOUS_TRANSPORT_H #define PIPER_SYNCHRONOUS_TRANSPORT_H #include <vector> #include <cstdlib> namespace piper { 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