Mercurial > hg > piper-cpp
diff vamp-client/ProcessQtTransport.h @ 146:c4f841ccb208
Allow the completeness checker to report failure (invalid message) as well as incompleteness
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Thu, 19 Jan 2017 09:57:58 +0000 |
parents | 228a66adfb30 |
children | c3b9a584b42b |
line wrap: on
line diff
--- a/vamp-client/ProcessQtTransport.h Wed Jan 18 14:53:07 2017 +0000 +++ b/vamp-client/ProcessQtTransport.h Thu Jan 19 09:57:58 2017 +0000 @@ -187,7 +187,13 @@ size_t formerSize = buffer.size(); buffer.resize(formerSize + byteCount); m_process->read(buffer.data() + formerSize, byteCount); - complete = m_completenessChecker->isComplete(buffer); + switch (m_completenessChecker->check(buffer)) { + case MessageCompletenessChecker::Complete: complete = true; break; + case MessageCompletenessChecker::Incomplete: break; + case MessageCompletenessChecker::Invalid: + throw std::runtime_error + ("Invalid message received: corrupt stream from server?"); + } } }