--- deliantra/server/socket/init.C 2007/07/01 05:00:20 1.49
+++ deliantra/server/socket/init.C 2007/11/14 08:09:46 1.54
@@ -1,11 +1,11 @@
/*
- * This file is part of Crossfire TRT, the Roguelike Realtime MORPG.
+ * This file is part of Deliantra, the Roguelike Realtime MMORPG.
*
- * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Crossfire TRT team
+ * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Deliantra team
* Copyright (©) 2001,2007 Mark Wedel
* Copyright (©) 1992,2007 Frank Tore Johansen
*
- * Crossfire TRT is free software: you can redistribute it and/or modify
+ * Deliantra is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
@@ -18,7 +18,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- * The authors can be reached via e-mail to
+ * The authors can be reached via e-mail to
*/
/**
@@ -62,8 +62,7 @@
*/
client::client (int fd, const char *peername)
: fd (fd), host (strdup (peername)),
- socket_ev (this, &client::socket_cb),
- cmd_ev (this, &client::cmd_cb)
+ socket_ev (this, &client::socket_cb)
{
refcnt_inc (); // the socket is an external reference
@@ -165,12 +164,10 @@
* face information.
*/
faces_sent[0] = true;
+ fx_want [FT_FACE] = true; // all clients must support image faces
- socket_ev.prio (PE_PRIO_NORMAL);
- socket_ev.fd (fd);
- socket_ev.poll (PE_R);
-
- cmd_ev.prio (PE_PRIO_NORMAL);
+ socket_ev.set (fd, EV_READ);
+ socket_ev.start ();
// initialisation done, kick it!
send_packet_printf ("version %d %d %s\n", VERSION_CS, VERSION_SC, VERSION_INFO);
@@ -185,6 +182,7 @@
{
clients.erase (this);
+ mapinfo_queue_clear ();
free (stats.range);
free (stats.title);
free (host);
@@ -208,8 +206,7 @@
state = ST_DEAD;
- socket_ev.suspend ();
- cmd_ev.suspend ();
+ socket_ev.stop ();
refcnt_dec (); // socket no longer open
}
@@ -245,20 +242,6 @@
last_stats = zero_living;
}
-/*******************************************************************************
- *
- * Start of functions dealing with freeing of the data.
- *
- ******************************************************************************/
-
-/** Free's all the memory that ericserver allocates. */
-void
-free_all_newserver (void)
-{
- LOG (llevDebug, "Freeing all new client/server information.\n");
- free_socket_images ();
-}
-
client *
client::create (int fd, const char *peername)
{