equal
deleted
inserted
replaced
23 NetworkUDP *udp_srv, *udp_client; |
23 NetworkUDP *udp_srv, *udp_client; |
24 |
24 |
25 CL_SlotContainer slots; |
25 CL_SlotContainer slots; |
26 |
26 |
27 std::map<NetworkAddress, NetworkNode*> nodes; |
27 std::map<NetworkAddress, NetworkNode*> nodes; |
|
28 std::map<NetworkChannelID, CL_Signal_v2<const NetworkPacket&, NetworkNode *>> _map_sig_chan_message; |
28 |
29 |
29 public: |
30 public: |
30 NetworkSession (NetworkSessionMagic magic); |
31 NetworkSession (NetworkSessionMagic magic); |
31 |
32 |
32 void listen (const NetworkAddress &addr); |
33 void listen (const NetworkAddress &addr); |
34 |
35 |
35 private: |
36 private: |
36 void on_tcp_client (const NetworkTCPTransport *client); |
37 void on_tcp_client (const NetworkTCPTransport *client); |
37 void on_disconnect (NetworkNode *node); |
38 void on_disconnect (NetworkNode *node); |
38 |
39 |
|
40 CL_Signal_v1<NetworkNode*> _sig_node_connected; |
|
41 CL_Signal_v1<NetworkNode*> _sig_node_disconnected; |
|
42 |
39 public: |
43 public: |
40 void send_all (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true); |
44 void send_all (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true); |
41 void send_all_except (NetworkChannelID channel_id, const NetworkPacket &pkt, const NetworkNode *node, bool reliable = true); |
45 void send_all_except (NetworkChannelID channel_id, const NetworkPacket &pkt, const NetworkNode *node, bool reliable = true); |
42 |
46 |
43 CL_Signal_v1<NetworkNode*> sig_node_connected; |
47 CL_Signal_v1<NetworkNode*> sig_node_connected (void) { return _sig_node_connected; } |
44 CL_Signal_v1<NetworkNode*> sig_node_disconnected; |
48 CL_Signal_v1<NetworkNode*> sig_node_disconnected (void) { return _sig_node_disconnected; } |
|
49 CL_Signal_v2<const NetworkPacket&, NetworkNode *>& sig_chan_message (NetworkChannelID cid) { return _map_sig_chan_message(cid); } |
45 }; |
50 }; |
46 |
51 |
47 #endif /* NETWORK_SESSION_HH */ |
52 #endif /* NETWORK_SESSION_HH */ |