src/proto2/NetworkNode.cc
branchno-netsession
changeset 33 e53f09b378f4
child 36 785d220fc6b7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/proto2/NetworkNode.cc	Mon Nov 10 19:57:57 2008 +0000
@@ -0,0 +1,36 @@
+
+#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;
+}