From 5c12d5b387e07203be79df7e4d526d124a53ad8a Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Sat, 5 Nov 2016 15:00:09 +0100 Subject: Do not use boost::optional for TcpSocket Older boost versions require T to be copy-constructable in optional. This is not the case for TcpSocket, which is only move-constructable. Fixes compilation on debian jessie --- src/TcpSocket.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/TcpSocket.cpp') diff --git a/src/TcpSocket.cpp b/src/TcpSocket.cpp index 433e5c1..6791286 100644 --- a/src/TcpSocket.cpp +++ b/src/TcpSocket.cpp @@ -116,6 +116,11 @@ TcpSocket::~TcpSocket() close(); } +bool TcpSocket::isValid() +{ + return m_sock != INVALID_SOCKET; +} + ssize_t TcpSocket::recv(void* data, size_t size) { ssize_t ret = ::recv(m_sock, (char*)data, size, 0); @@ -167,7 +172,7 @@ TcpSocket TcpSocket::accept() } } -boost::optional TcpSocket::accept(int timeout_ms) +TcpSocket TcpSocket::accept(int timeout_ms) { struct pollfd fds[1]; fds[0].fd = m_sock; @@ -184,7 +189,8 @@ boost::optional TcpSocket::accept(int timeout_ms) return accept(); } else { - return boost::none; + TcpSocket invalidsock(0, ""); + return invalidsock; } } -- cgit v1.2.3