#include <poll.h>
#include <string>
+#include <vector>
#include <map>
#include "stg/os_int.h"
const std::string GetStrError() const { return errorStr; }
- void AddUser(const USER & user);
+ void AddUser(const USER & user, bool connect = false);
bool Connect(uint32_t ip);
bool Disconnect(uint32_t ip);
+
+ size_t UserCount() const { return users.size(); }
private:
BLOWFISH_CTX ctx;
struct sockaddr_in localAddr;
struct sockaddr_in serverAddr;
int timeout;
- std::map<uint32_t, USER> users;
+ std::vector<std::pair<uint32_t, USER> > users;
std::vector<struct pollfd> pollFds;
bool running;
bool Send_DISCONN_SYN(USER * user);
bool Send_DISCONN_ACK(USER * user);
bool Send_ALIVE_ACK(USER * user);
+
+ bool RealConnect(USER * user);
+ bool RealDisconnect(USER * user);
};
#endif