[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Wesnoth-cvs-commits] wesnoth/src multiplayer_client.cpp network.cpp ...,
Guillaume Melquiond <=