Implemented connection timeout in C++

This commit is contained in:
Alessandro Ranellucci 2015-11-02 20:34:36 +01:00
parent 4295d65115
commit 9ee6829ebc
5 changed files with 19 additions and 18 deletions

View file

@ -5,6 +5,7 @@
#include <string>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/trim.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/lexical_cast.hpp>
#if __APPLE__
@ -134,6 +135,18 @@ GCodeSender::is_connected() const
return this->connected;
}
bool
GCodeSender::wait_connected(unsigned int timeout) const
{
using namespace boost::posix_time;
ptime t0 = second_clock::local_time() + seconds(timeout);
while (!this->connected) {
if (second_clock::local_time() > t0) return false;
boost::this_thread::sleep(boost::posix_time::milliseconds(100));
}
return true;
}
size_t
GCodeSender::queue_size() const
{