summaryrefslogtreecommitdiffstats
path: root/src/TcpSocket.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-11-05 15:00:09 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-11-05 15:00:09 +0100
commit5c12d5b387e07203be79df7e4d526d124a53ad8a (patch)
treef5dde68268449c0d6b222df17aaafc99f33e586a /src/TcpSocket.h
parent3fa21bd39d9b9cb1b0b8d71e2cc98eebb98ad871 (diff)
downloaddabmux-5c12d5b387e07203be79df7e4d526d124a53ad8a.tar.gz
dabmux-5c12d5b387e07203be79df7e4d526d124a53ad8a.tar.bz2
dabmux-5c12d5b387e07203be79df7e4d526d124a53ad8a.zip
Do not use boost::optional for TcpSocket
Older boost versions require T to be copy-constructable in optional<T>. This is not the case for TcpSocket, which is only move-constructable. Fixes compilation on debian jessie
Diffstat (limited to 'src/TcpSocket.h')
-rw-r--r--src/TcpSocket.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/TcpSocket.h b/src/TcpSocket.h
index 8df913f..660515d 100644
--- a/src/TcpSocket.h
+++ b/src/TcpSocket.h
@@ -46,7 +46,7 @@
#include <iostream>
#include <string>
-#include <boost/optional.hpp>
+#include <memory>
/**
* This class represents a TCP socket.
@@ -70,7 +70,9 @@ class TcpSocket
TcpSocket(const TcpSocket& other) = delete;
TcpSocket& operator=(const TcpSocket& other) = delete;
- int close();
+ bool isValid(void);
+
+ int close(void);
/** Send data over the TCP connection.
* @param data The buffer that will be sent.
@@ -88,7 +90,12 @@ class TcpSocket
void listen(void);
TcpSocket accept(void);
- boost::optional<TcpSocket> accept(int timeout_ms);
+
+ /* Returns either valid socket if a connection was
+ * accepted before the timeout expired, or an invalid
+ * socket otherwise.
+ */
+ TcpSocket accept(int timeout_ms);
/** Retrieve address this socket is bound to */
InetAddress getOwnAddress() const;