diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 91799d1de2..72d7644cbe 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -234,7 +234,7 @@ void NetworkBase::CloseConnection() mode = NETWORK_MODE_NONE; status = NETWORK_STATUS_NONE; - _lastConnectStatus = SOCKET_STATUS_CLOSED; + _lastConnectStatus = SocketStatus::Closed; } bool NetworkBase::BeginClient(const std::string& host, uint16_t port) @@ -260,7 +260,7 @@ bool NetworkBase::BeginClient(const std::string& host, uint16_t port) _serverState.gamestateSnapshotsEnabled = false; status = NETWORK_STATUS_CONNECTING; - _lastConnectStatus = SOCKET_STATUS_CLOSED; + _lastConnectStatus = SocketStatus::Closed; _clientMapLoaded = false; _serverTickData.clear(); @@ -543,11 +543,11 @@ void NetworkBase::UpdateClient() { switch (_serverConnection->Socket->GetStatus()) { - case SOCKET_STATUS_RESOLVING: + case SocketStatus::Resolving: { - if (_lastConnectStatus != SOCKET_STATUS_RESOLVING) + if (_lastConnectStatus != SocketStatus::Resolving) { - _lastConnectStatus = SOCKET_STATUS_RESOLVING; + _lastConnectStatus = SocketStatus::Resolving; char str_resolving[256]; format_string(str_resolving, 256, STR_MULTIPLAYER_RESOLVING, nullptr); @@ -558,11 +558,11 @@ void NetworkBase::UpdateClient() } break; } - case SOCKET_STATUS_CONNECTING: + case SocketStatus::Connecting: { - if (_lastConnectStatus != SOCKET_STATUS_CONNECTING) + if (_lastConnectStatus != SocketStatus::Connecting) { - _lastConnectStatus = SOCKET_STATUS_CONNECTING; + _lastConnectStatus = SocketStatus::Connecting; char str_connecting[256]; format_string(str_connecting, 256, STR_MULTIPLAYER_CONNECTING, nullptr); @@ -575,7 +575,7 @@ void NetworkBase::UpdateClient() } break; } - case SOCKET_STATUS_CONNECTED: + case SocketStatus::Connected: { status = NETWORK_STATUS_CONNECTED; _serverConnection->ResetLastPacketTime(); diff --git a/src/openrct2/network/NetworkBase.h b/src/openrct2/network/NetworkBase.h index 113e9f0056..fd8e797f3a 100644 --- a/src/openrct2/network/NetworkBase.h +++ b/src/openrct2/network/NetworkBase.h @@ -228,7 +228,7 @@ private: // Client Data int32_t status = NETWORK_STATUS_NONE; uint8_t player_id = 0; uint16_t _port = 0; - SOCKET_STATUS _lastConnectStatus = SOCKET_STATUS_CLOSED; + SocketStatus _lastConnectStatus = SocketStatus::Closed; bool _requireReconnect = false; bool _clientMapLoaded = false; }; diff --git a/src/openrct2/network/NetworkServerAdvertiser.cpp b/src/openrct2/network/NetworkServerAdvertiser.cpp index a3d2761820..9ddb83a16a 100644 --- a/src/openrct2/network/NetworkServerAdvertiser.cpp +++ b/src/openrct2/network/NetworkServerAdvertiser.cpp @@ -103,7 +103,7 @@ private: auto ticks = Platform::GetTicks(); if (ticks > _lastListenTime + 500) { - if (_lanListener->GetStatus() != SOCKET_STATUS_LISTENING) + if (_lanListener->GetStatus() != SocketStatus::Listening) { _lanListener->Listen(NETWORK_LAN_BROADCAST_PORT); } diff --git a/src/openrct2/network/Socket.cpp b/src/openrct2/network/Socket.cpp index b201668fa2..c37cde71dc 100644 --- a/src/openrct2/network/Socket.cpp +++ b/src/openrct2/network/Socket.cpp @@ -250,7 +250,7 @@ private: class TcpSocket final : public ITcpSocket, protected Socket { private: - std::atomic _status = ATOMIC_VAR_INIT(SOCKET_STATUS_CLOSED); + std::atomic _status = ATOMIC_VAR_INIT(SocketStatus::Closed); uint16_t _listeningPort = 0; SOCKET _socket = INVALID_SOCKET; @@ -271,7 +271,7 @@ public: CloseSocket(); } - SOCKET_STATUS GetStatus() const override + SocketStatus GetStatus() const override { return _status; } @@ -296,7 +296,7 @@ public: void Listen(const std::string& address, uint16_t port) override { - if (_status != SOCKET_STATUS_CLOSED) + if (_status != SocketStatus::Closed) { throw std::runtime_error("Socket not closed."); } @@ -352,12 +352,12 @@ public: } _listeningPort = port; - _status = SOCKET_STATUS_LISTENING; + _status = SocketStatus::Listening; } std::unique_ptr Accept() override { - if (_status != SOCKET_STATUS_LISTENING) + if (_status != SocketStatus::Listening) { throw std::runtime_error("Socket not listening."); } @@ -407,7 +407,7 @@ public: void Connect(const std::string& address, uint16_t port) override { - if (_status != SOCKET_STATUS_CLOSED && _status != SOCKET_STATUS_WAITING) + if (_status != SocketStatus::Closed && _status != SocketStatus::Waiting) { throw std::runtime_error("Socket not closed."); } @@ -415,7 +415,7 @@ public: try { // Resolve address - _status = SOCKET_STATUS_RESOLVING; + _status = SocketStatus::Resolving; sockaddr_storage ss{}; socklen_t ss_len; @@ -424,7 +424,7 @@ public: throw SocketException("Unable to resolve address."); } - _status = SOCKET_STATUS_CONNECTING; + _status = SocketStatus::Connecting; _socket = socket(ss.ss_family, SOCK_STREAM, IPPROTO_TCP); if (_socket == INVALID_SOCKET) { @@ -481,7 +481,7 @@ public: } if (error == 0) { - _status = SOCKET_STATUS_CONNECTED; + _status = SocketStatus::Connected; return; } } @@ -499,7 +499,7 @@ public: void ConnectAsync(const std::string& address, uint16_t port) override { - if (_status != SOCKET_STATUS_CLOSED) + if (_status != SocketStatus::Closed) { throw std::runtime_error("Socket not closed."); } @@ -507,7 +507,7 @@ public: // When connect is called, the status is set to resolving, but we want to make sure // the status is changed before this async method exits. Otherwise, the consumer // might think the status has closed before it started to connect. - _status = SOCKET_STATUS_WAITING; + _status = SocketStatus::Waiting; auto saddress = std::string(address); std::promise barrier; @@ -530,7 +530,7 @@ public: void Finish() override { - if (_status == SOCKET_STATUS_CONNECTED) + if (_status == SocketStatus::Connected) { shutdown(_socket, SHUT_WR); } @@ -538,7 +538,7 @@ public: void Disconnect() override { - if (_status == SOCKET_STATUS_CONNECTED) + if (_status == SocketStatus::Connected) { shutdown(_socket, SHUT_RDWR); } @@ -546,7 +546,7 @@ public: size_t SendData(const void* buffer, size_t size) override { - if (_status != SOCKET_STATUS_CONNECTED) + if (_status != SocketStatus::Connected) { throw std::runtime_error("Socket not connected."); } @@ -568,7 +568,7 @@ public: NetworkReadPacket ReceiveData(void* buffer, size_t size, size_t* sizeReceived) override { - if (_status != SOCKET_STATUS_CONNECTED) + if (_status != SocketStatus::Connected) { throw std::runtime_error("Socket not connected."); } @@ -635,7 +635,7 @@ private: _socket = socket; _hostName = hostName; _ipAddress = ipAddress; - _status = SOCKET_STATUS_CONNECTED; + _status = SocketStatus::Connected; } void CloseSocket() @@ -645,7 +645,7 @@ private: closesocket(_socket); _socket = INVALID_SOCKET; } - _status = SOCKET_STATUS_CLOSED; + _status = SocketStatus::Closed; } std::string GetIpAddressFromSocket(const sockaddr_in* addr) @@ -678,7 +678,7 @@ private: class UdpSocket final : public IUdpSocket, protected Socket { private: - SOCKET_STATUS _status = SOCKET_STATUS_CLOSED; + SocketStatus _status = SocketStatus::Closed; uint16_t _listeningPort = 0; SOCKET _socket = INVALID_SOCKET; NetworkEndpoint _endpoint; @@ -694,7 +694,7 @@ public: CloseSocket(); } - SOCKET_STATUS GetStatus() const override + SocketStatus GetStatus() const override { return _status; } @@ -711,7 +711,7 @@ public: void Listen(const std::string& address, uint16_t port) override { - if (_status != SOCKET_STATUS_CLOSED) + if (_status != SocketStatus::Closed) { throw std::runtime_error("Socket not closed."); } @@ -740,7 +740,7 @@ public: } _listeningPort = port; - _status = SOCKET_STATUS_LISTENING; + _status = SocketStatus::Listening; } size_t SendData(const std::string& address, uint16_t port, const void* buffer, size_t size) override @@ -770,7 +770,7 @@ public: auto ss = &dest->GetAddress(); auto ss_len = dest->GetAddressLen(); - if (_status != SOCKET_STATUS_LISTENING) + if (_status != SocketStatus::Listening) { _endpoint = *dest; } @@ -797,7 +797,7 @@ public: { sockaddr_in senderAddr{}; socklen_t senderAddrLen = sizeof(sockaddr_in); - if (_status != SOCKET_STATUS_LISTENING) + if (_status != SocketStatus::Listening) { senderAddrLen = _endpoint.GetAddressLen(); std::memcpy(&senderAddr, &_endpoint.GetAddress(), senderAddrLen); @@ -836,7 +836,7 @@ private: { _socket = socket; _hostName = hostName; - _status = SOCKET_STATUS_CONNECTED; + _status = SocketStatus::Connected; } SOCKET CreateSocket() @@ -879,7 +879,7 @@ private: closesocket(_socket); _socket = INVALID_SOCKET; } - _status = SOCKET_STATUS_CLOSED; + _status = SocketStatus::Closed; } }; diff --git a/src/openrct2/network/Socket.h b/src/openrct2/network/Socket.h index 01c5f37587..9100d959a9 100644 --- a/src/openrct2/network/Socket.h +++ b/src/openrct2/network/Socket.h @@ -15,14 +15,14 @@ #include #include -enum SOCKET_STATUS +enum class SocketStatus { - SOCKET_STATUS_CLOSED, - SOCKET_STATUS_WAITING, - SOCKET_STATUS_RESOLVING, - SOCKET_STATUS_CONNECTING, - SOCKET_STATUS_CONNECTED, - SOCKET_STATUS_LISTENING, + Closed, + Waiting, + Resolving, + Connecting, + Connected, + Listening, }; enum class NetworkReadPacket : int32_t @@ -53,7 +53,7 @@ struct ITcpSocket public: virtual ~ITcpSocket() = default; - virtual SOCKET_STATUS GetStatus() const abstract; + virtual SocketStatus GetStatus() const abstract; virtual const char* GetError() const abstract; virtual const char* GetHostName() const abstract; virtual std::string GetIpAddress() const abstract; @@ -83,7 +83,7 @@ struct IUdpSocket public: virtual ~IUdpSocket() = default; - virtual SOCKET_STATUS GetStatus() const abstract; + virtual SocketStatus GetStatus() const abstract; virtual const char* GetError() const abstract; virtual const char* GetHostName() const abstract; diff --git a/src/openrct2/scripting/ScSocket.hpp b/src/openrct2/scripting/ScSocket.hpp index c02f011487..4c173bf5d0 100644 --- a/src/openrct2/scripting/ScSocket.hpp +++ b/src/openrct2/scripting/ScSocket.hpp @@ -302,14 +302,14 @@ namespace OpenRCT2::Scripting auto status = _socket->GetStatus(); if (_connecting) { - if (status == SOCKET_STATUS_CONNECTED) + if (status == SocketStatus::Connected) { _connecting = false; _wasConnected = true; _eventList.Raise(EVENT_CONNECT_ONCE, GetPlugin(), {}, false); _eventList.RemoveAllListeners(EVENT_CONNECT_ONCE); } - else if (status == SOCKET_STATUS_CLOSED) + else if (status == SocketStatus::Closed) { _connecting = false; @@ -324,7 +324,7 @@ namespace OpenRCT2::Scripting _eventList.Raise(EVENT_ERROR, GetPlugin(), { dukErr }, true); } } - else if (status == SOCKET_STATUS_CONNECTED) + else if (status == SocketStatus::Connected) { char buffer[2048]; size_t bytesRead{}; @@ -388,7 +388,7 @@ namespace OpenRCT2::Scripting { if (_socket != nullptr) { - return _socket->GetStatus() == SOCKET_STATUS_LISTENING; + return _socket->GetStatus() == SocketStatus::Listening; } return false; } @@ -413,7 +413,7 @@ namespace OpenRCT2::Scripting _socket = CreateTcpSocket(); } - if (_socket->GetStatus() == SOCKET_STATUS_LISTENING) + if (_socket->GetStatus() == SocketStatus::Listening) { duk_error(ctx, DUK_ERR_ERROR, "Server is already listening."); } @@ -488,7 +488,7 @@ namespace OpenRCT2::Scripting if (_socket == nullptr) return; - if (_socket->GetStatus() == SOCKET_STATUS_LISTENING) + if (_socket->GetStatus() == SocketStatus::Listening) { auto client = _socket->Accept(); if (client != nullptr)