diff options
| author | Lioncash <mathew1800@gmail.com> | 2022-09-22 08:10:43 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2022-09-22 08:20:54 -0400 |
| commit | c8da75b7ed467f42775eb0d507f2704516775ab2 (patch) | |
| tree | 0fda310e0c6c7da5799e504a9444907c6f9ad1a1 /src/core/internal_network/sockets.h | |
| parent | 8d4458ef24e473e57b9931d7a9d1442b51fb0b1a (diff) | |
sockets: Make fd member variable protected
Other things shouldn't be able to directly mess around with the
descriptor
Diffstat (limited to 'src/core/internal_network/sockets.h')
| -rw-r--r-- | src/core/internal_network/sockets.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/internal_network/sockets.h b/src/core/internal_network/sockets.h index a70429b19..2e328c645 100644 --- a/src/core/internal_network/sockets.h +++ b/src/core/internal_network/sockets.h @@ -32,6 +32,10 @@ public: std::unique_ptr<SocketBase> socket; SockAddrIn sockaddr_in; }; + + SocketBase() = default; + explicit SocketBase(SOCKET fd_) : fd{fd_} {} + virtual ~SocketBase() = default; virtual SocketBase& operator=(const SocketBase&) = delete; @@ -89,12 +93,19 @@ public: virtual void HandleProxyPacket(const ProxyPacket& packet) = 0; + [[nodiscard]] SOCKET GetFD() const { + return fd; + } + +protected: SOCKET fd = INVALID_SOCKET; }; class Socket : public SocketBase { public: Socket() = default; + explicit Socket(SOCKET fd_) : SocketBase{fd_} {} + ~Socket() override; Socket(const Socket&) = delete; |
