diff options
Diffstat (limited to 'src/TcpSocket.h')
-rw-r--r-- | src/TcpSocket.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/TcpSocket.h b/src/TcpSocket.h index 5a4a808..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. @@ -67,8 +67,12 @@ class TcpSocket ~TcpSocket(); TcpSocket(TcpSocket&& other); TcpSocket& operator=(TcpSocket&& other); + 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. @@ -86,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; @@ -94,8 +103,6 @@ class TcpSocket private: TcpSocket(SOCKET sock, InetAddress own, InetAddress remote); - TcpSocket(const TcpSocket& other) = delete; - TcpSocket& operator=(const TcpSocket& other) = delete; /// The address on which the socket is bound. InetAddress m_own_address; |