--- a/src/proto2/NetworkTCP.cc Mon Nov 10 18:21:23 2008 +0000
+++ b/src/proto2/NetworkTCP.cc Mon Nov 10 19:57:57 2008 +0000
@@ -249,6 +249,10 @@
sig_disconnect();
}
+NetworkAddress NetworkTCPTransport::getRemoteAddress (void) {
+ return socket.get_dest_address();
+}
+
void NetworkTCPTransport::write_packet (const NetworkPacket &packet) {
uint16_t prefix = packet.get_data_size();
@@ -278,12 +282,16 @@
NetworkSocket client_sock = socket.accept();
// create a new NetworkTCPTransport
- NetworkTCPTransport *client = new NetworkTCPTransport(client_sock);
-
+ NetworkTCPTransport *client = buildTransport(client_sock);
+
// let our user handle it
sig_client(client);
}
+virtual NetworkTCPTransport NetworkTCPServer::buildTransport (CL_Socket &socket) {
+ return new NetworkTCPTransport(client_sock);
+}
+
NetworkTCPClient::NetworkTCPClient (const NetworkAddress &connect_addr) :
NetworkTCPTransport(NetworkSocket(tcp, ipv4)) {