(svn r14724) -Codechange: move some NetworkClientSocket related function/definitions closer together.

This commit is contained in:
rubidium
2008-12-23 11:43:32 +00:00
parent 9476a49763
commit 52fb6b7d7c
2 changed files with 14 additions and 8 deletions

View File

@@ -111,6 +111,7 @@ public:
Packet *Recv_Packet(NetworkRecvStatus *status);
inline bool IsValid() const { return this->IsConnected(); }
inline NetworkClientInfo *GetInfo() const
{
extern NetworkClientSocket _clients[MAX_CLIENTS];
@@ -118,6 +119,19 @@ public:
}
};
// Here we keep track of the clients
// (and the client uses [0] for his own communication)
extern NetworkClientSocket _clients[MAX_CLIENTS];
#define GetNetworkClientSocket(i) (&_clients[i])
static inline bool IsValidNetworkClientSocketIndex(ClientIndex index)
{
return (uint)index < MAX_CLIENTS && GetNetworkClientSocket(index)->IsValid();
}
#define FOR_ALL_CLIENT_SOCKETS_FROM(d, start) for (d = GetNetworkClientSocket(start); d != GetNetworkClientSocket(MAX_CLIENTS); d++) if (d->IsValid())
#define FOR_ALL_CLIENT_SOCKETS(d) FOR_ALL_CLIENT_SOCKETS_FROM(d, 0)
#endif /* ENABLE_NETWORK */
#endif /* NETWORK_CORE_TCP_H */