wesnoth-cvs-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Wesnoth-cvs-commits] wesnoth/src/server server.cpp


From: David White
Subject: [Wesnoth-cvs-commits] wesnoth/src/server server.cpp
Date: Sat, 17 Sep 2005 19:30:28 -0400

CVSROOT:        /cvsroot/wesnoth
Module name:    wesnoth
Branch:         
Changes by:     David White <address@hidden>    05/09/17 23:30:28

Modified files:
        src/server     : server.cpp 

Log message:
        allow configuration of how many worker threads wesnothd uses on command 
line

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/server/server.cpp.diff?tr1=1.87&tr2=1.88&r1=text&r2=text

Patches:
Index: wesnoth/src/server/server.cpp
diff -u wesnoth/src/server/server.cpp:1.87 wesnoth/src/server/server.cpp:1.88
--- wesnoth/src/server/server.cpp:1.87  Tue Sep  6 14:00:05 2005
+++ wesnoth/src/server/server.cpp       Sat Sep 17 23:30:27 2005
@@ -1,4 +1,4 @@
-/* $Id: server.cpp,v 1.87 2005/09/06 14:00:05 ott Exp $ */
+/* $Id: server.cpp,v 1.88 2005/09/17 23:30:27 Sirp Exp $ */
 /*
    Copyright (C) 2003-5 by David White <address@hidden>
    Part of the Battle for Wesnoth Project http://www.wesnoth.org/
@@ -14,7 +14,8 @@
 #include "../global.hpp"
 
 #include "../config.hpp"
-#include "../game_config.hpp"
+#include "../game_config.hpp"
+#include "../log.hpp"
 #include "../network.hpp"
 #include "../util.hpp"
 #include "../wassert.hpp"
@@ -85,7 +86,7 @@
 class server
 {
 public:
-       server(int port, input_stream& input, const config& cfg);
+       server(int port, input_stream& input, const config& cfg, size_t 
nthreads);
        void run();
 private:
        void process_data(network::connection sock, config& data, config& 
gamelist);
@@ -136,7 +137,7 @@
        std::vector<std::string> bans_;
 };
 
-server::server(int port, input_stream& input, const config& cfg) : 
net_manager_(5), server_(port),
+server::server(int port, input_stream& input, const config& cfg, size_t 
nthreads) : net_manager_(nthreads), server_(port),
     not_logged_in_(players_), lobby_players_(players_), 
last_stats_(time(NULL)), input_(input), cfg_(cfg)
 {
        version_query_response_.add_child("version");
@@ -992,7 +993,8 @@
 
 int main(int argc, char** argv)
 {
-       int port = 15000;
+       int port = 15000;
+       size_t nthreads = 5;
 
        network::set_default_send_size(4096);
 
@@ -1024,8 +1026,9 @@
                        }
                } else if((val == "--max_packet_size" || val == "-m") && arg+1 
!= argc) {
                        
network::set_default_send_size(size_t(atoi(argv[++arg])));
-               }
-               else if((val == "--port" || val == "-p") && arg+1 != argc) {
+               } else if(val == "--verbose" || val == "-v") {
+                       lg::set_log_domain_severity("all",2);
+               } else if((val == "--port" || val == "-p") && arg+1 != argc) {
                        port = atoi(argv[++arg]);
                } else if(val == "--help" || val == "-h") {
                        std::cout << "usage: " << argv[0]
@@ -1033,7 +1036,8 @@
                                << "  -d  --daemon               Runs wesnothd 
as a daemon\n"
                                << "  -m, --max_packet_size n    Sets the 
maximal packet size to n\n"
                                << "  -p, --port                 Binds the 
server to the specified port\n"
-                               << "  -v, --version              Returns the 
server version\n";
+                               << "  -v, --version              Returns the 
server version\n"
+                               << "  -t, --threads n            Uses n worker 
threads for network I/O (default: 5)\n";
                        return 0;
                } else if(val == "--version" || val == "-v") {
                        std::cout << "Battle for Wesnoth server " << 
game_config::version
@@ -1055,6 +1059,11 @@
 
                        setsid();
 #endif
+               } else if((val == "--threads" || val == "-t") && arg+1 != argc) 
{
+                       nthreads = atoi(argv[++arg]);
+                       if(nthreads > 30) {
+                               nthreads = 30;
+                       }
                } else if(val[0] == '-') {
                        std::cerr << "unknown option: " << val << "\n";
                        return 0;
@@ -1066,7 +1075,7 @@
        input_stream input(fifo_path);
 
        try {
-               server(port,input,configuration).run();
+               server(port,input,configuration,nthreads).run();
        } catch(network::error& e) {
                std::cerr << "caught network error while server was running. 
aborting.: " << e.message << "\n";
                return -1;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]