From 1949659f831eb3dbfd933812d954a7611b391c1e Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Wed, 11 May 2011 17:56:11 +0300 Subject: [PATCH] Adding and connecting users separated in main --- projects/sgauthstress/main.cpp | 53 ++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/projects/sgauthstress/main.cpp b/projects/sgauthstress/main.cpp index c7e69c4a..2388254d 100644 --- a/projects/sgauthstress/main.cpp +++ b/projects/sgauthstress/main.cpp @@ -28,6 +28,8 @@ #include #include +#include +#include #include "stg/common.h" #include "stg/store.h" @@ -98,13 +100,7 @@ SetSignalHandlers(); PROTO proto(settings.GetServerName(), settings.GetServerPort(), settings.GetLocalPort(), - 1000); - -if (!proto.Start()) - { - std::cerr << "Failed to start listening thread: '" << proto.GetStrError() << "'" << std::endl; - return -1; - } + 10); STORE_LOADER storeLoader(settings.GetModulesPath(), settings.GetStoreModuleSettings()); if (storeLoader.Load()) @@ -122,23 +118,38 @@ if (dataStore->GetUsersList(&userList)) return -1; } -std::vector::const_iterator it; -for (it = userList.begin(); it != userList.end(); ++it) +std::list ips; { - USER_CONF userConf; - if (dataStore->RestoreUserConf(&userConf, *it)) + std::vector::const_iterator it; + for (it = userList.begin(); it != userList.end(); ++it) { - std::cerr << "Failed to read user conf: '" << dataStore->GetStrError() << "'" << std::endl; - return -1; + USER_CONF userConf; + if (dataStore->RestoreUserConf(&userConf, *it)) + { + std::cerr << "Failed to read user conf: '" << dataStore->GetStrError() << "'" << std::endl; + return -1; + } + proto.AddUser( + USER( + *it, + userConf.password, + userConf.ips[0].ip + ) + ); + ips.push_back(userConf.ips[0].ip); } - proto.AddUser( - USER( - *it, - userConf.password, - userConf.ips[0].ip - ), - true - ); + } + +if (!proto.Start()) + { + std::cerr << "Failed to start listening thread: '" << proto.GetStrError() << "'" << std::endl; + return -1; + } + +std::list::const_iterator it; +for (it = ips.begin(); it != ips.end(); ++it) + { + proto.Connect(*it); } std::cout << "Successfully loaded " << proto.UserCount() << " users" << std::endl; -- 2.43.2