view vamp-client/SynchronousTransport.h @ 90:6429a99abcad

Split out classes
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 13 Oct 2016 10:17:59 +0100
parents
children 21f8af53eaf0
line wrap: on
line source

#ifndef PIPER_SYNCHRONOUS_TRANSPORT_H
#define PIPER_SYNCHRONOUS_TRANSPORT_H

#include <vector>

namespace piper {

class SynchronousTransport // interface
{
public:
    //!!! 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;
};

class MessageCompletenessChecker // interface
{
public:
    virtual bool isComplete(const std::vector<char> &message) const = 0;
};

}

#endif