src/NetworkSession.hh
changeset 186 0738f2949a2b
parent 185 25becd2cb026
child 187 f41f894213ca
--- a/src/NetworkSession.hh	Wed Dec 03 19:16:32 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-#ifndef NETWORK_SESSION_HH
-#define NETWORK_SESSION_HH
-
-#include <map>
-#include <stdint.h>
-
-// forward-declare
-class NetworkSession;
-
-/*
- * Used to separate packets, ID zero is reserved for NetworkSession use
- */
-typedef uint16_t NetworkChannelID;
-
-#include "NetworkTCP.hh"
-#include "NetworkUDP.hh"
-#include "NetworkNode.hh"
-
-class NetworkSession {
-    friend class NetworkNode;
-
-    private:
-        uint64_t magic;
-        NetworkTCPServer *tcp_srv;
-        NetworkUDP *udp_srv, *udp_client;
-
-        CL_SlotContainer slots;
-
-        std::map<NetworkAddress, NetworkNode*> nodes;
-        std::map<NetworkChannelID, CL_Signal_v2<NetworkPacket&, NetworkNode *> > _map_sig_chan_message;
-    
-    public:
-        NetworkSession (uint64_t magic);
-
-        void listen (const NetworkAddress &addr);
-        NetworkNode* connect (const NetworkAddress &addr);
-    
-    protected:
-        virtual NetworkNode *build_node (NetworkTCPTransport *tcp, NetworkUDP *udp, const NetworkAddress &addr, enum NetworkNodeType type);
-        
-        void handle_disconnect (NetworkNode *node);
-        void handle_message (NetworkPacket &pkt, NetworkNode *node);
-
-    private:
-        void on_tcp_client (NetworkTCPTransport *client);
-        void on_udp_packet (NetworkPacket &pkt, const NetworkAddress &addr);
-
-        CL_Signal_v1<NetworkNode*> _sig_node_connected;
-
-    public:
-        void send_all (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true);
-        void send_all_except (NetworkChannelID channel_id, const NetworkPacket &pkt, const NetworkNode *node, bool reliable = true);
-
-        CL_Signal_v1<NetworkNode*>& sig_node_connected (void) { return _sig_node_connected; }
-        CL_Signal_v2<NetworkPacket&, NetworkNode *>& sig_chan_message (NetworkChannelID cid) { return _map_sig_chan_message[cid]; }
-};
-
-#endif /* NETWORK_SESSION_HH */