#ifndef __PROTO_H__
#define __PROTO_H__
+#ifndef LINUX
+#include <netinet/in_systm.h>
+#endif
#include <netinet/ip.h>
#include <pthread.h>
#include <poll.h>
#include <string>
+#include <list>
#include <vector>
#include <map>
struct sockaddr_in serverAddr;
int timeout;
- std::vector<std::pair<uint32_t, USER> > users;
+ std::list<std::pair<uint32_t, USER> > users;
std::vector<struct pollfd> pollFds;
bool running;
bool stopped;
pthread_t tid;
+ pthread_mutex_t mutex;
std::string errorStr;
static void * Runner(void * data);
void Run();
+ void CheckTimeouts();
bool RecvPacket();
bool SendPacket(const void * buffer, size_t length, USER * user);
- bool HandlePacket(const char * buffer, USER * user);
+ bool HandlePacket(const char * buffer, size_t length, USER * user);
bool CONN_SYN_ACK_Proc(const void * buffer, USER * user);
bool ALIVE_SYN_Proc(const void * buffer, USER * user);