src/proto2/NetworkNode.cc
branchno-netsession
changeset 36 785d220fc6b7
parent 33 e53f09b378f4
child 37 ed2957490bbf
equal deleted inserted replaced
35:e21cfda0edde 36:785d220fc6b7
     3 
     3 
     4 NetworkNode::NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address) :
     4 NetworkNode::NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address) :
     5     session(session), tcp(tcp), udp(udp), address(address) {
     5     session(session), tcp(tcp), udp(udp), address(address) {
     6     
     6     
     7     // connect signals
     7     // connect signals
       
     8     slots.connect(tcp->sig_disconnect(), this, &NetworkNode::on_disconnect);
     8     
     9     
     9 }
    10 }
    10 
    11 
    11 NetworkNode::~NetworkNode (void) {
    12 NetworkNode::~NetworkNode (void) {
    12     delete tcp;
    13     delete tcp;
    13 }
    14 }
    14         
    15 
       
    16 void on_disconnect (void) {
       
    17     // tell session
       
    18     session.handle_disconnect(this);
       
    19 
       
    20     // fire signal
       
    21     _sig_disconnected();
       
    22     
       
    23     // delete
       
    24     delete this;
       
    25 }
       
    26 
    15 void NetworkNode::send (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true) {
    27 void NetworkNode::send (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true) {
    16     assert(channel_id > 0);
    28     assert(channel_id > 0);
    17     
    29     
    18     // add our header
    30     // add our header
    19     NetworkPacket pkt2;
    31     NetworkPacket pkt2;