X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8c6fa3fbaccc22127280bf77a48fab5a3ee0716e..46b0747592074017ff0ea4b33d4a7194235886e5:/projects/sgauthstress/proto.h diff --git a/projects/sgauthstress/proto.h b/projects/sgauthstress/proto.h deleted file mode 100644 index 746622b7..00000000 --- a/projects/sgauthstress/proto.h +++ /dev/null @@ -1,88 +0,0 @@ -#ifndef __PROTO_H__ -#define __PROTO_H__ - -#ifndef LINUX -#include -#endif -#include -#include -#include - -#include -#include -#include -#include - -#include "stg/os_int.h" -#include "stg/blowfish.h" - -#include "user.h" - -class PROTO; - -typedef bool (PROTO::*PacketProcessor)(const void *, USER *); - -class PROTO { - public: - PROTO(const std::string & server, - uint16_t port, - uint16_t localPort, - int timeout = 1); - ~PROTO(); - - bool Start(); - bool Stop(); - - const std::string GetStrError() const { return errorStr; } - - 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::list > users; - std::vector pollFds; - - bool running; - bool stopped; - - pthread_t tid; - pthread_mutex_t mutex; - - std::string errorStr; - - std::map processors; - - 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, size_t length, USER * user); - - bool CONN_SYN_ACK_Proc(const void * buffer, USER * user); - bool ALIVE_SYN_Proc(const void * buffer, USER * user); - bool DISCONN_SYN_ACK_Proc(const void * buffer, USER * user); - bool FIN_Proc(const void * buffer, USER * user); - bool INFO_Proc(const void * buffer, USER * user); - bool ERR_Proc(const void * buffer, USER * user); - - bool Send_CONN_SYN(USER * user); - bool Send_CONN_ACK(USER * user); - 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