src/proto2/NetworkNode.cc
author terom
Mon, 10 Nov 2008 19:57:57 +0000
branchno-netsession
changeset 33 e53f09b378f4
child 36 785d220fc6b7
permissions -rw-r--r--
more untested, uncompiled code

#include "NetworkNode.hh"

NetworkNode::NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address) :
    session(session), tcp(tcp), udp(udp), address(address) {
    
    // connect signals
    
}

NetworkNode::~NetworkNode (void) {
    delete tcp;
}
        
void NetworkNode::send (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true) {
    assert(channel_id > 0);
    
    // add our header
    NetworkPacket pkt2;
    pkt2.write_uint16(channel_id);
    pkt2.write_packet(pkt);
    
    // either tcp or udp
    if (reliable) {
        assert(tcp);

        tcp->write_packet(pkt2);

    } else {
        udp.sendto(pkt2, address);
    }
}
        
const NetworkAddress& NetworkNode::getRemoteAddress (void) {
    return address;
}