--- a/src/proto2/NetworkServer.hh Mon Nov 10 16:49:09 2008 +0000
+++ b/src/proto2/NetworkServer.hh Mon Nov 10 18:21:23 2008 +0000
@@ -3,6 +3,8 @@
#include "Network.hh"
#include "GameState.hh"
+#include "NetworkTCP.hh"
+#include "NetworkUDP.hh"
#include <list>
#include <map>
@@ -15,38 +17,38 @@
friend class NetworkServerPlayer;
private:
+ NetworkTCPServer tcp_server;
+ NetworkUDP udp;
+
uint16_t pid_pool;
-
- public:
- std::map<CL_NetComputer, NetworkServerPlayer*> players;
+
+ std::map<NetworkAddress, NetworkServerPlayer*> players;
public:
- NetworkServer (GameState &state, const std::string &listen_port);
+ NetworkServer (GameState &state, const NetworkAddress &listen_addr);
private:
- void on_connect (CL_NetComputer &computer);
- void on_disconnect (CL_NetComputer &computer);
-
-
+ void on_client (NetworkTCPTransport *client);
+ void on_packet_udp (const NetworkPacket &pkt, const NetworkAddress &src);
};
class NetworkServerPlayer : public RemotePlayer {
private:
NetworkServer &server;
- CL_NetComputer &computer;
- CL_NetObject_Server obj;
+ NetworkTCPTransport *tcp;
CL_SlotContainer slots;
uint16_t pid;
public:
- NetworkServerPlayer (NetworkServer &server, CL_NetComputer &computer, uint16_t pid);
-
- void disconnected (void);
+ NetworkServerPlayer (NetworkServer &server, NetworkTCPTransport *tcp, uint16_t pid);
private:
- void on_move (CL_NetComputer &from, CL_NetPacket &pkt);
+ void on_disconnected (void);
+ void on_packet_tcp (const NetworkPacket &pkt);
+
+ void on_move (const NetworkPacket &pkt);
void send_position_update (void);
};