Removed unnecessary ServerSocket type.

This commit is contained in:
Patrick 2024-12-13 10:01:01 +01:00
parent 7ffc9df3fc
commit 713d5ca02d
2 changed files with 8 additions and 21 deletions

View File

@ -22,6 +22,8 @@ StreamError translateErrno() MIJIN_NOEXCEPT
{
case EIO:
return StreamError::IO_ERROR;
case ECONNREFUSED:
return StreamError::CONNECTION_REFUSED;
default:
return StreamError::UNKNOWN_ERROR;
}
@ -454,7 +456,7 @@ void TCPServerSocket::close() MIJIN_NOEXCEPT
handle_ = INVALID_SOCKET_HANDLE;
}
Task<StreamResult<std::unique_ptr<Socket>>> TCPServerSocket::c_waitForConnection() MIJIN_NOEXCEPT
Task<StreamResult<std::unique_ptr<TCPSocket>>> TCPServerSocket::c_waitForConnection() MIJIN_NOEXCEPT
{
while (isListening())
{

View File

@ -39,23 +39,8 @@ protected:
public:
virtual ~Socket() MIJIN_NOEXCEPT = default;
virtual Stream& getStream() MIJIN_NOEXCEPT = 0;
};
class ServerSocket
{
protected:
ServerSocket() MIJIN_NOEXCEPT = default;
ServerSocket(const ServerSocket&) MIJIN_NOEXCEPT = default;
ServerSocket(ServerSocket&&) MIJIN_NOEXCEPT = default;
ServerSocket& operator=(const ServerSocket&) MIJIN_NOEXCEPT = default;
ServerSocket& operator=(ServerSocket&&) MIJIN_NOEXCEPT = default;
public:
virtual ~ServerSocket() MIJIN_NOEXCEPT = default;
virtual void close() MIJIN_NOEXCEPT = 0;
virtual Task<StreamResult<std::unique_ptr<Socket>>> c_waitForConnection() MIJIN_NOEXCEPT = 0;
virtual Stream& getStream() MIJIN_NOEXCEPT = 0;
};
class TCPStream : public Stream
@ -99,13 +84,13 @@ public:
}
return StreamError::UNKNOWN_ERROR;
}
void close() MIJIN_NOEXCEPT { stream_.close(); }
void close() MIJIN_NOEXCEPT override { stream_.close(); }
[[nodiscard]] bool isOpen() const MIJIN_NOEXCEPT { return stream_.isOpen(); }
friend class TCPServerSocket;
};
class TCPServerSocket : public ServerSocket
class TCPServerSocket
{
private:
socket_handle_t handle_ = INVALID_SOCKET_HANDLE;
@ -119,10 +104,10 @@ public:
}
return StreamError::UNKNOWN_ERROR;
}
void close() MIJIN_NOEXCEPT override;
void close() MIJIN_NOEXCEPT;
[[nodiscard]] bool isListening() const MIJIN_NOEXCEPT { return handle_ >= 0; }
Task<StreamResult<std::unique_ptr<Socket>>> c_waitForConnection() MIJIN_NOEXCEPT override;
Task<StreamResult<std::unique_ptr<TCPSocket>>> c_waitForConnection() MIJIN_NOEXCEPT;
};
}