src/proto2/NetworkNode.cc
branchno-netsession
changeset 33 e53f09b378f4
child 36 785d220fc6b7
equal deleted inserted replaced
32:2ff929186c90 33:e53f09b378f4
       
     1 
       
     2 #include "NetworkNode.hh"
       
     3 
       
     4 NetworkNode::NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address) :
       
     5     session(session), tcp(tcp), udp(udp), address(address) {
       
     6     
       
     7     // connect signals
       
     8     
       
     9 }
       
    10 
       
    11 NetworkNode::~NetworkNode (void) {
       
    12     delete tcp;
       
    13 }
       
    14         
       
    15 void NetworkNode::send (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true) {
       
    16     assert(channel_id > 0);
       
    17     
       
    18     // add our header
       
    19     NetworkPacket pkt2;
       
    20     pkt2.write_uint16(channel_id);
       
    21     pkt2.write_packet(pkt);
       
    22     
       
    23     // either tcp or udp
       
    24     if (reliable) {
       
    25         assert(tcp);
       
    26 
       
    27         tcp->write_packet(pkt2);
       
    28 
       
    29     } else {
       
    30         udp.sendto(pkt2, address);
       
    31     }
       
    32 }
       
    33         
       
    34 const NetworkAddress& NetworkNode::getRemoteAddress (void) {
       
    35     return address;
       
    36 }