--- a/src/proto2/NetworkServer.hh Tue Nov 18 22:58:50 2008 +0000
+++ b/src/proto2/NetworkServer.hh Thu Nov 20 19:25:56 2008 +0000
@@ -3,8 +3,8 @@
#include "Network.hh"
#include "GameState.hh"
-#include "NetworkTCP.hh"
-#include "NetworkUDP.hh"
+#include "NetworkSession.hh"
+#include "NetworkObject.hh"
#include <list>
#include <map>
@@ -16,39 +16,35 @@
class NetworkServer : public NetworkCore {
friend class NetworkServerPlayer;
- private:
- NetworkTCPServer tcp_server;
- NetworkUDP udp;
-
- uint16_t pid_pool;
-
- std::map<NetworkAddress, NetworkServerPlayer*> players;
+ protected:
+ NetworkSession netsession;
+ NetworkObject_ServerController netobjs;
+ std::list<NetworkServerPlayer *> players;
public:
NetworkServer (GameState &state, const NetworkAddress &listen_addr);
+
+ protected:
+ void handle_disconnect (NetworkServerPlayer *player);
private:
- void on_client (NetworkTCPTransport *client);
- void on_packet_udp (const NetworkPacket &pkt, const NetworkAddress &src);
+ void on_node_connected (NetworkNode *node);
};
class NetworkServerPlayer : public RemotePlayer {
private:
NetworkServer &server;
- NetworkTCPTransport *tcp;
+ NetworkObject_Server obj;
+ NetworkNode *node;
CL_SlotContainer slots;
-
- uint16_t pid;
public:
- NetworkServerPlayer (NetworkServer &server, NetworkTCPTransport *tcp, uint16_t pid);
+ NetworkServerPlayer (NetworkServer &server, NetworkNode *node);
private:
void on_disconnected (void);
- void on_packet_tcp (const NetworkPacket &pkt);
-
- void on_move (const NetworkPacket &pkt);
+ void on_move (NetworkNode *node, NetworkPacket &pkt);
void send_position_update (void);
};