server.cpp File Reference

Wesnoth-Server, for multiplayer-games. More...

#include "../global.hpp"
#include "../config.hpp"
#include "../game_config.hpp"
#include "../log.hpp"
#include "../map.hpp"
#include "../network.hpp"
#include "../filesystem.hpp"
#include "../serialization/parser.hpp"
#include "../serialization/preprocessor.hpp"
#include "../serialization/string_utils.hpp"
#include "game.hpp"
#include "input_stream.hpp"
#include "metrics.hpp"
#include "player.hpp"
#include "proxy.hpp"
#include "simple_wml.hpp"
#include "ban.hpp"
#include <algorithm>
#include <cassert>
#include <cerrno>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <map>
#include <set>
#include <sstream>
#include <vector>
#include <queue>
#include <csignal>
#include <sys/times.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

Include dependency graph for server.cpp:

Go to the source code of this file.

Classes

class  fps_limiter
class  server

Defines

#define ERR_SERVER   LOG_STREAM(err, mp_server)
 fatal and directly server related errors/warnings, ie not caused by erroneous client data
#define WRN_SERVER   LOG_STREAM(warn, mp_server)
 clients send wrong/unexpected data
#define LOG_SERVER   LOG_STREAM(info, mp_server)
 normal events
#define DBG_SERVER   LOG_STREAM(debug, mp_server)
#define ERR_CONFIG   LOG_STREAM(err, config)
#define WRN_CONFIG   LOG_STREAM(warn, config)
#define SIGHUP   20
#define FIFODIR   "/var/run/wesnothd"

Functions

clock_t get_cpu_time (bool active)
static void reload_config (int signal)
static void exit_sigint (int signal)
static void exit_sigterm (int signal)
void send_doc (simple_wml::document &doc, network::connection connection)
void make_add_diff (const simple_wml::node &src, const char *gamelist, const char *type, simple_wml::document &out, int index=-1)
bool make_delete_diff (const simple_wml::node &src, const char *gamelist, const char *type, const simple_wml::node *remove, simple_wml::document &out)
bool make_change_diff (const simple_wml::node &src, const char *gamelist, const char *type, const simple_wml::node *item, simple_wml::document &out)
int main (int argc, char **argv)

Variables

sig_atomic_t config_reload = 0
int request_sample_frequency = 1


Detailed Description

Wesnoth-Server, for multiplayer-games.

Definition in file server.cpp.


Define Documentation

#define DBG_SERVER   LOG_STREAM(debug, mp_server)

Definition at line 84 of file server.cpp.

#define ERR_CONFIG   LOG_STREAM(err, config)

Definition at line 85 of file server.cpp.

#define ERR_SERVER   LOG_STREAM(err, mp_server)

fatal and directly server related errors/warnings, ie not caused by erroneous client data

Definition at line 79 of file server.cpp.

Referenced by server::delete_game(), main(), server::process_data_game(), server::process_data_lobby(), server::process_login(), server::process_whisper(), and server::run().

#define FIFODIR   "/var/run/wesnothd"

Referenced by main().

#define LOG_SERVER   LOG_STREAM(info, mp_server)

normal events

Definition at line 83 of file server.cpp.

#define SIGHUP   20

Definition at line 90 of file server.cpp.

Referenced by reload_config(), and server::server().

#define WRN_CONFIG   LOG_STREAM(warn, config)

Definition at line 86 of file server.cpp.

#define WRN_SERVER   LOG_STREAM(warn, mp_server)

clients send wrong/unexpected data

Definition at line 81 of file server.cpp.

Referenced by server::process_data_game(), server::process_data_lobby(), server::process_query(), and server::run().


Function Documentation

static void exit_sigint ( int  signal  )  [static]

Definition at line 101 of file server.cpp.

References LOG_SERVER.

Referenced by server::server().

static void exit_sigterm ( int  signal  )  [static]

Definition at line 107 of file server.cpp.

References LOG_SERVER.

Referenced by server::server().

clock_t @279::get_cpu_time ( bool  active  )  [static]

Definition at line 57 of file server.cpp.

Referenced by server::run().

int main ( int  argc,
char **  argv 
)

Todo:
errno should be passed here with the error or it might not be the true errno anymore. Seems to work good enough for now though.

Definition at line 1703 of file server.cpp.

References ERR_SERVER, FIFODIR, max_threads, network::error::message, min_threads, port, request_sample_frequency, server::server(), lg::set_log_domain_severity(), network::set_raw_data_only(), lg::timestamps(), and game_config::version.

void @279::make_add_diff ( const simple_wml::node src,
const char *  gamelist,
const char *  type,
simple_wml::document out,
int  index = -1 
) [static]

bool @279::make_change_diff ( const simple_wml::node src,
const char *  gamelist,
const char *  type,
const simple_wml::node item,
simple_wml::document out 
) [static]

bool @279::make_delete_diff ( const simple_wml::node src,
const char *  gamelist,
const char *  type,
const simple_wml::node remove,
simple_wml::document out 
) [static]

static void reload_config ( int  signal  )  [static]

Definition at line 96 of file server.cpp.

References config_reload, and SIGHUP.

Referenced by server::server().

void @279::send_doc ( simple_wml::document doc,
network::connection  connection 
) [static]


Variable Documentation

sig_atomic_t config_reload = 0

Definition at line 94 of file server.cpp.

Referenced by reload_config(), and server::run().

int request_sample_frequency = 1 [static]

Definition at line 116 of file server.cpp.

Referenced by main(), server::process_command(), and server::run().


Generated by doxygen 1.5.5 on 23 May 2008 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs