equal
deleted
inserted
replaced
|
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 } |