25 lines
590 B
C
25 lines
590 B
C
|
|
#pragma once
|
|||
|
|
#include <map>
|
|||
|
|
class ClientObjMgr {
|
|||
|
|
public:
|
|||
|
|
ClientObjMgr();
|
|||
|
|
~ClientObjMgr();
|
|||
|
|
|
|||
|
|
void SetMaxSession(int max_session);
|
|||
|
|
bool setNewClient(Client *cli);
|
|||
|
|
void flush(void);
|
|||
|
|
std::map<uint16_t, Client*> &getClientMap(void) {
|
|||
|
|
return client_list_;
|
|||
|
|
}
|
|||
|
|
Client* get(uint16_t index);
|
|||
|
|
Client* remove(uint16_t index);
|
|||
|
|
private:
|
|||
|
|
uint16_t max_session_;//<2F><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint16_t cur_idx_;
|
|||
|
|
std::list<uint16_t> free_cli_idx_;//<2F><><EFBFBD>еĿͻ<C4BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
std::vector<Client*> client_append_list_;
|
|||
|
|
Mutex client_lock_; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>append_list<73><74>
|
|||
|
|
std::map<uint16_t, Client*> client_list_;
|
|||
|
|
};
|
|||
|
|
|