44 lines
1.1 KiB
C++
44 lines
1.1 KiB
C++
#include "precompile.h"
|
|
|
|
#include "virtualclientmgr.h"
|
|
#include "virtualclient.h"
|
|
#include "app.h"
|
|
|
|
void VirtualClientMgr::Init()
|
|
{
|
|
for (int i = 1; i <= App::Instance()->test_param; ++i) {
|
|
VirtualClient* client = new VirtualClient();
|
|
client->instance_id = i;
|
|
client->account = a8::Format("test%d", {i});
|
|
client->remote_ip = App::Instance()->wsp_host;
|
|
client->remote_port = App::Instance()->wsp_port;
|
|
account_hash_[client->account] = client;
|
|
instanceid_hash_[client->instance_id] = client;
|
|
client->Init();
|
|
}
|
|
}
|
|
|
|
void VirtualClientMgr::UnInit()
|
|
{
|
|
|
|
}
|
|
|
|
void VirtualClientMgr::Update()
|
|
{
|
|
for (auto& pair : account_hash_) {
|
|
pair.second->Update();
|
|
}
|
|
}
|
|
|
|
VirtualClient* VirtualClientMgr::GetVirtualClientByAccount(const std::string& account)
|
|
{
|
|
auto itr = account_hash_.find(account);
|
|
return itr != account_hash_.end() ? itr->second: nullptr;
|
|
}
|
|
|
|
VirtualClient* VirtualClientMgr::GetVirtualClientByInstanceId(int instance_id)
|
|
{
|
|
auto itr = instanceid_hash_.find(instance_id);
|
|
return itr != instanceid_hash_.end() ? itr->second : nullptr;
|
|
}
|