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

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

[Wesnoth-cvs-commits] wesnoth/src multiplayer_client.cpp network.cpp ...


From: Guillaume Melquiond
Subject: [Wesnoth-cvs-commits] wesnoth/src multiplayer_client.cpp network.cpp ...
Date: Sun, 17 Oct 2004 17:01:49 -0400

CVSROOT:        /cvsroot/wesnoth
Module name:    wesnoth
Branch:         
Changes by:     Guillaume Melquiond <address@hidden>    04/10/17 20:54:18

Modified files:
        src            : multiplayer_client.cpp network.cpp 
                         network_worker.cpp 

Log message:
        Switched networking code to new logging system. Also fix #10674, I hope.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/multiplayer_client.cpp.diff?tr1=1.71&tr2=1.72&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/network.cpp.diff?tr1=1.45&tr2=1.46&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/network_worker.cpp.diff?tr1=1.4&tr2=1.5&r1=text&r2=text

Patches:
Index: wesnoth/src/multiplayer_client.cpp
diff -u wesnoth/src/multiplayer_client.cpp:1.71 
wesnoth/src/multiplayer_client.cpp:1.72
--- wesnoth/src/multiplayer_client.cpp:1.71     Sat Oct 16 18:57:55 2004
+++ wesnoth/src/multiplayer_client.cpp  Sun Oct 17 20:54:18 2004
@@ -12,6 +12,9 @@
 
 #include <sstream>
 
+#define LOG_NW lg::info(lg::network)
+#define ERR_NW lg::err(lg::network)
+
 namespace {
 
 class gamelist_manager : public gui::dialog_action
@@ -167,7 +170,7 @@
                config reply;
                const network::connection res = network::receive_data(reply);
                if(res) {
-                       std::cerr << "received data while waiting: " << 
reply.write() << "\n";
+                       LOG_NW << "received data while waiting: " << 
reply.write() << "\n";
                        const config::child_list& assigns = 
reply.get_children("reassign_side");
                        for(config::child_list::const_iterator a = 
assigns.begin(); a != assigns.end(); ++a) {
                                if(lexical_cast_default<int>((**a)["from"]) == 
team) {
@@ -181,9 +184,9 @@
                                return lobby::QUIT;
                        } else if(reply["side_secured"].empty() == false) {
                                got_side = true;
-                               std::cerr << "received side secured message\n";
+                               LOG_NW << "received side secured message\n";
                        } else if(reply.child("start_game")) {
-                               std::cerr << "received start_game message\n";
+                               LOG_NW << "received start_game message\n";
                                //break out of dialog
                                status = START_GAME;
                                return lobby::CREATE;
@@ -191,12 +194,14 @@
                                status = GAME_CANCELLED;
                                return lobby::QUIT;
                        } else if(reply.child("scenario_diff")) {
-                               std::cerr << "received diff for 
scenario....applying...\n";
+                               LOG_NW << "received diff for 
scenario....applying...\n";
                                
sides_.apply_diff(*reply.child("scenario_diff"));
                                generate_menu(false);
                        } else if(reply.child("side")) {
                                sides_ = reply;
-                               std::cerr << "got some sides. Current number of 
sides = " << sides_.get_children("side").size() << "," << 
reply.get_children("side").size() << "\n";
+                               LOG_NW << "got some sides. Current number of 
sides = "
+                                      << sides_.get_children("side").size() << 
","
+                                      << reply.get_children("side").size() << 
"\n";
                        } else {
                                data_.push_back(reply);
                        }
@@ -239,7 +244,7 @@
 void play_multiplayer_client(display& disp, game_data& units_data, config& cfg,
                              game_state& state, std::string& host)
 {
-       log_scope("playing multiplayer client");
+       log_scope2(network, "playing multiplayer client");
 
        const network::manager net_manager;
 
@@ -314,7 +319,7 @@
                                throw network::error(_("Connection timed out"));
                        }
 
-                       std::cerr << "login response: '" << data.write() << 
"'\n";
+                       LOG_NW << "login response: '" << data.write() << "'\n";
 
                        error = data.child("error");
                } while(error != NULL);
@@ -329,7 +334,7 @@
                        receive_gamelist(disp,data);
                }
 
-               std::cerr << "when receiving gamelist got '" << data.write() << 
"'\n";
+               LOG_NW << "when receiving gamelist got '" << data.write() << 
"'\n";
 
                bool observer = false;
 
@@ -441,14 +446,14 @@
                        const config* const era_cfg = 
cfg.find_child("era","id",era);
 
                        if(era_cfg == NULL) {
-                               std::cerr << "era '" << era << "' not found\n";
+                               ERR_NW << "era '" << era << "' not found\n";
                                return;
                        }
 
                        const config::child_list& possible_sides = 
era_cfg->get_children("multiplayer_side");
 
                        if(possible_sides.empty()) {
-                               std::cerr << "no multiplayer sides found\n";
+                               ERR_NW << "no multiplayer sides found\n";
                                return;
                        }
 
@@ -541,7 +546,7 @@
                config replay_data_store;
                if(replay_data != NULL) {
                        replay_data_store = *replay_data;
-                       std::cerr << "setting replay\n";
+                       LOG_NW << "setting replay\n";
                        recorder = replay(replay_data_store);
                        if(!recorder.empty()) {
                                const int res = gui::show_dialog(disp,NULL,
@@ -553,7 +558,7 @@
                                        sides = state.starting_pos;
                                        recorder.set_skip(0);
                                } else {
-                                       std::cerr << "skipping...\n";
+                                       LOG_NW << "skipping...\n";
                                        recorder.set_skip(-1);
                                }
                        }
@@ -561,7 +566,7 @@
                        sides.clear_children("replay");
                }
     
-               std::cerr << "starting game\n";
+               LOG_NW << "starting game\n";
 
                state.starting_pos = sides;
                state.snapshot = sides;
Index: wesnoth/src/network.cpp
diff -u wesnoth/src/network.cpp:1.45 wesnoth/src/network.cpp:1.46
--- wesnoth/src/network.cpp:1.45        Tue Oct 12 03:35:57 2004
+++ wesnoth/src/network.cpp     Sun Oct 17 20:54:18 2004
@@ -15,6 +15,10 @@
 
 #include <signal.h>
 
+#define LOG_NW lg::info(lg::network)
+#define WRN_NW lg::warn(lg::network)
+// only warnings and not errors to avoid DoS by log flooding
+
 namespace {
 
 //We store the details of a connection in a map that must be looked up by its 
handle.
@@ -160,12 +164,12 @@
 
        //on Unix-based systems, set sigpipe to be ignored
 #if !(defined(_WIN32) || defined(__APPLE__))
-       std::cerr << "ignoring SIGPIPE\n";
+       WRN_NW << "ignoring SIGPIPE\n";
        signal(SIGPIPE,SIG_IGN);
 #endif
 
        if(SDLNet_Init() == -1) {
-               std::cerr << "could not initialize SDLNet; throwing error...\n";
+               lg::err(lg::network) << "could not initialize SDLNet; throwing 
error...\n";
                throw error(SDL_GetError());
        }
 
@@ -199,7 +203,7 @@
                        }
                }
 
-               std::cerr << "server socket initialized: " << server_socket << 
"\n";
+               LOG_NW << "server socket initialized: " << server_socket << 
"\n";
                free_ = true;
        }
 }
@@ -248,7 +252,7 @@
                return create_connection(sock,"",port);
        }
 
-       std::cerr << "sending handshake...\n";
+       LOG_NW << "sending handshake...\n";
        //send data telling the remote host that this is a new connection
        char buf[4];
        SDLNet_Write32(0,buf);
@@ -257,7 +261,7 @@
                SDLNet_TCP_Close(sock);
                throw network::error("Could not send initial handshake");
        }
-       std::cerr << "sent handshake...\n";
+       LOG_NW << "sent handshake...\n";
 
        //allocate this connection a connection handle
        const network::connection connect = create_connection(sock,host,port);
@@ -291,7 +295,7 @@
 
        const TCPsocket sock = SDLNet_TCP_Accept(server_socket);
        if(sock) {
-               std::cerr << "received connection. Pending handshake...\n";
+               LOG_NW << "received connection. Pending handshake...\n";
                pending_sockets.push_back(sock);
                if(pending_socket_set == 0) {
                        pending_socket_set = SDLNet_AllocSocketSet(64);
@@ -311,7 +315,7 @@
                return 0;
        }
 
-       std::cerr << "pending socket activity...\n";
+       LOG_NW << "pending socket activity...\n";
 
        for(std::vector<TCPsocket>::iterator i = pending_sockets.begin(); i != 
pending_sockets.end(); ++i) {
                if(!SDLNet_SocketReady(*i)) {
@@ -326,18 +330,18 @@
                SDLNet_TCP_DelSocket(pending_socket_set,sock);
                pending_sockets.erase(i);
 
-               std::cerr << "receiving data from pending socket...\n";
+               LOG_NW << "receiving data from pending socket...\n";
 
                const int len = SDLNet_TCP_Recv(sock,buf,4);
                if(len != 4) {
-                       std::cerr << "pending socket disconnected\n";
+                       WRN_NW << "pending socket disconnected\n";
                        SDLNet_TCP_Close(sock);
                        return 0;
                }
 
                const int handle = SDLNet_Read32(buf);
 
-               std::cerr << "received handshake from client: '" << handle << 
"'\n";
+               LOG_NW << "received handshake from client: '" << handle << 
"'\n";
 
                const int res = SDLNet_TCP_AddSocket(socket_set,sock);
                if(res == -1) {
@@ -402,7 +406,7 @@
                remove_connection(s);
        } else {
                if(sockets.size() == 1) {
-                       std::cerr << "valid socket: " << (int)*sockets.begin() 
<< "\n";
+                       LOG_NW << "valid socket: " << (int)*sockets.begin() << 
"\n";
                }
        }
 }
@@ -475,10 +479,10 @@
 
                                len = SDLNet_Read32(num_buf);
 
-                               std::cerr << "received packet length: " << len 
<< "\n";
+                               LOG_NW << "received packet length: " << len << 
"\n";
 
                                if((len < 1) || (len > 10000000)) {
-                                       std::cerr << "bad length in network 
packet. Throwing error\n";
+                                       WRN_NW << "bad length in network 
packet. Throwing error\n";
                                        throw error("network error: bad length 
data",*i);
                                }
 
@@ -488,7 +492,7 @@
                                //make sure that this connection still has data
                                const int res = 
SDLNet_CheckSockets(socket_set,0);
                                if(res <= 0 || !SDLNet_SocketReady(sock)) {
-                                       std::cerr << "packet has no data after 
length. Throwing error\n";
+                                       WRN_NW << "packet has no data after 
length. Throwing error\n";
                                        throw error("network error: received 
wrong number of bytes: 0",*i);
                                }
                        }
@@ -499,26 +503,26 @@
                        const size_t expected = buf.buf.size() - buf.upto;
                        const int nbytes = 
SDLNet_TCP_Recv(sock,&buf.buf[buf.upto],expected);
                        if(nbytes <= 0) {
-                               std::cerr << "SDLNet_TCP_Recv returned " << 
nbytes << " error in socket\n";
+                               WRN_NW << "SDLNet_TCP_Recv returned " << nbytes 
<< " error in socket\n";
                                throw error("remote host disconnected",*i);
                        }
 
                        details.received += nbytes;
 
                        buf.upto += nbytes;
-                       std::cerr << "received " << nbytes << "=" << buf.upto 
<< "/" << buf.buf.size() << "\n";
+                       LOG_NW << "received " << nbytes << "=" << buf.upto << 
"/" << buf.buf.size() << "\n";
 
                        if(buf.upto == buf.buf.size()) {
                                current_connection = received_data.end();
                                const std::string 
buffer(buf.buf.begin(),buf.buf.end());
                                received_data.erase(part_received); 
//invalidates buf. don't use again
                                if(buffer == "") {
-                                       std::cerr << "buffer from remote host 
is empty\n";
+                                       WRN_NW << "buffer from remote host is 
empty\n";
                                        throw error("remote host closed 
connection",*i);
                                }
 
                                if(buffer[buffer.size()-1] != 0) {
-                                       std::cerr << "buf not nul-delimited. 
Network error\n";
+                                       WRN_NW << "buf not nul-delimited. 
Network error\n";
                                        throw error("sanity check on incoming 
data failed",*i);
                                }
 
@@ -553,7 +557,7 @@
 
 void send_data(const config& cfg, connection connection_num, size_t max_size, 
SEND_TYPE mode)
 {
-       std::cerr << "in send_data()...\n";
+       LOG_NW << "in send_data()...\n";
        if(cfg.empty()) {
                return;
        }
@@ -570,13 +574,12 @@
                max_size = 8;
        }
 
-       log_scope("sending data");
+       log_scope2(network, "sending data");
        if(!connection_num) {
-               std::cerr << "sockets: " << sockets.size() << "\n";
+               LOG_NW << "sockets: " << sockets.size() << "\n";
                for(sockets_list::const_iterator i = sockets.begin();
                    i != sockets.end(); ++i) {
-                       std::cerr << "server socket: " << server_socket << "\n";
-                       std::cerr << "current socket: " << *i << "\n";
+                       LOG_NW << "server socket: " << server_socket << 
"\ncurrent socket: " << *i << "\n";
                        send_data(cfg,*i);
                }
 
Index: wesnoth/src/network_worker.cpp
diff -u wesnoth/src/network_worker.cpp:1.4 wesnoth/src/network_worker.cpp:1.5
--- wesnoth/src/network_worker.cpp:1.4  Fri Oct 15 20:24:02 2004
+++ wesnoth/src/network_worker.cpp      Sun Oct 17 20:54:18 2004
@@ -1,3 +1,4 @@
+#include "log.hpp"
 #include "network_worker.hpp"
 #include "network.hpp"
 #include "thread.hpp"
@@ -8,6 +9,8 @@
 #include <map>
 #include <set>
 
+#define LOG_NW lg::info(lg::network)
+
 namespace {
 
 unsigned int buf_id = 0;
@@ -42,7 +45,7 @@
 {
        threading::mutex m;
        const threading::lock mutex_lock(m);
-       std::cerr << "thread started...\n";
+       LOG_NW << "thread started...\n";
        for(;;) {
 
                std::multiset<buffer>::iterator itor;
@@ -51,14 +54,14 @@
                {
                        const threading::lock lock(*global_mutex);
 
-                       std::cerr << "thread " << reinterpret_cast<int>(data) 
<< " looking for a buf to send: " << bufs.size() << "\n";
+                       LOG_NW << "thread " << reinterpret_cast<long>(data) << 
" looking for a buf to send: " << bufs.size() << "\n";
 
                        for(itor = bufs.begin(); itor != bufs.end(); ++itor) {
                                if(itor->processing_started) {
                                        continue;
                                }
 
-                               std::cerr << "thread found a buffer...\n";
+                               LOG_NW << "thread found a buffer...\n";
 
                                lock_it = sockets_locked.find(itor->sock);
                                assert(lock_it != sockets_locked.end());
@@ -73,12 +76,12 @@
 
                        if(itor == bufs.end()) {
                                if(managed == false) {
-                                       std::cerr << "worker thread " << 
(int)data << " exiting...\n";
+                                       LOG_NW << "worker thread " << 
reinterpret_cast<long>(data) << " exiting...\n";
                                        return 0;
                                }
 
                                cond->wait(*global_mutex);
-                               std::cerr << "thread couldn't find a 
buffer...\n";
+                               LOG_NW << "thread couldn't find a buffer...\n";
                                continue;
                        }
                }
@@ -96,7 +99,7 @@
                        }
                }
 
-               std::cerr << "thread sent " << v.size() << " bytes of 
data...\n";
+               LOG_NW << "thread sent " << v.size() << " bytes of data...\n";
 
                {
                        const threading::lock lock(*global_mutex);
@@ -141,9 +144,9 @@
                }
 
                for(std::vector<threading::thread*>::const_iterator i = 
threads.begin(); i != threads.end(); ++i) {
-                       std::cerr << "waiting for thread " << int(i - 
threads.begin()) << " to exit...\n";
+                       LOG_NW << "waiting for thread " << int(i - 
threads.begin()) << " to exit...\n";
                        delete *i;
-                       std::cerr << "thread exited...\n";
+                       LOG_NW << "thread exited...\n";
                }
 
                threads.clear();
@@ -153,7 +156,7 @@
                global_mutex = NULL;
                cond = NULL;
 
-               std::cerr << "exiting manager::~manager()\n";
+               LOG_NW << "exiting manager::~manager()\n";
        }
 }
 
@@ -161,7 +164,7 @@
 {
        const threading::lock lock(*global_mutex);
 
-       std::cerr << "queuing " << buf.size() << " bytes of data...\n";
+       LOG_NW << "queuing " << buf.size() << " bytes of data...\n";
 
        const std::multiset<buffer>::iterator i = bufs.insert(buffer(sock));
        i->buf.swap(buf);




reply via email to

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