6 #ifndef __GNET_GAUTHSERVER_HPP
7 #define __GNET_GAUTHSERVER_HPP
35 UserInfo(
unsigned int _s,
unsigned int _l,
char _z)
48 size_t accumulate_limit;
54 const Session::State *GetInitState()
const;
61 bool OnCheckAccumulate(
size_t size)
const {
return accumulate_limit == 0 || size < accumulate_limit; }
67 void OnAddSession(Session::ID sid);
73 void OnDelSession(Session::ID sid);
107 bool ValidUser(Session::ID sid,
int userid);
168 : Runnable(_proir), update_time(_time) { }
179 void CheckAddCashcn();
184 void AntibrutClear();
CheckTimer(int _time, int _proir=1)
Конструктор.
void Run()
Основной метод таймера.
Thread::RWLock locker_map
Блокировка для доступа к usermap.
int GetSidIdx()
Получить индекс аутентификации.
std::map< unsigned int, char > ZoneMap
Map для связи сессий и зон (session id -> zoneid).
static GAuthServer * GetInstance()
Получить экземпляр синглтона.
Thread::Mutex locker_accntmap
Блокировка для доступа к accntmap.
void SetAccumulate(size_t size)
Установить лимит накопления данных.
Thread::Mutex locker_zonemap
Блокировка для доступа к zonemap.
bool ValidUser(Session::ID sid, int userid)
Проверить валидность пользователя.
ZoneMap zonemap
Контейнер с данными о зонах.
AccountingMap accntmap
Контейнер с данными о времени онлайн.
GAuthServer()
Конструктор по умолчанию.
Octets shared_key
Общий ключ для шифрования.
std::string Identification() const
Идентификатор протокола.
std::map< int, UserInfo > UserMap
Map для хранения информации о пользователях (userid -> UserInfo).
std::map< int, unsigned int > AccountingMap
Map для учета времени онлайн (userid -> время в секундах).
void SetSidIdx(int idx)
Установить индекс аутентификации.
UserMap usermap
Контейнер с данными пользователей.
Основное пространство имен для сетевых компонентов системы.
UserInfo()
Конструктор по умолчанию.
char zoneid
Идентификатор зоны пользователя.
unsigned int sid
Уникальный идентификатор сессии.
UserInfo(unsigned int _s, unsigned int _l, char _z)
Конструктор с параметрами.
unsigned int localsid
Локальный идентификатор сессии.