]> git.stg.codes - stg.git/blobdiff - projects/sgauthstress/main.cpp
Timeout fixed, proto starting and stopping added
[stg.git] / projects / sgauthstress / main.cpp
index 3d0adb49b96aac8464786aa4735a53251a73db8c..c7e69c4a962ce8fed23f3eb7e0c41d57338f0fa2 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "settings.h"
 #include "store_loader.h"
+#include "proto.h"
 #include "user.h"
 
 time_t stgTime;
@@ -94,6 +95,17 @@ if (settings.ReadSettings())
 
 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;
+    }
+
 STORE_LOADER storeLoader(settings.GetModulesPath(), settings.GetStoreModuleSettings());
 if (storeLoader.Load())
     {
@@ -110,7 +122,6 @@ if (dataStore->GetUsersList(&userList))
     return -1;
     }
 
-std::vector<USER> users;
 std::vector<std::string>::const_iterator it;
 for (it = userList.begin(); it != userList.end(); ++it)
     {
@@ -120,18 +131,17 @@ for (it = userList.begin(); it != userList.end(); ++it)
         std::cerr << "Failed to read user conf: '" << dataStore->GetStrError() << "'" << std::endl;
         return -1;
         }
-    users.push_back(
+    proto.AddUser(
             USER(
-                settings.GetServerName(),
-                settings.GetServerPort(),
-                settings.GetLocalPort(),
                 *it,
-                userConf.password
-            )
+                userConf.password,
+                userConf.ips[0].ip
+            ),
+            true
     );
     }
 
-std::cout << "Successfully loaded " << users.size() << " users" << std::endl;
+std::cout << "Successfully loaded " << proto.UserCount() << " users" << std::endl;
 
 running = true;
 while (running)
@@ -139,6 +149,8 @@ while (running)
     usleep(200000);
     }
 
+proto.Stop();
+
 storeLoader.Unload();
 
 return 0;