);
     tcp_header.checksum( cksum );
 
+    send_ack_request( tcp_header );
+}
+
+void TcpPinger::send_ack_request( const TcpHeader &tcp_header )
+{
     // Encode the request packet.
     boost::asio::streambuf request_buffer;
     ostream os( &request_buffer );
     os << tcp_header;
 
-    // Send the request.
     TimeSent = microsec_clock::universal_time();
 
     string dest_address_string = DestinationEndpoint.address().to_string();
                 << ex.what() << endl;
     }
 
+    // Tell how long to wait for the reply
     schedule_timeout_rst_reply();
 }
 
 
             const uint16_t destination_port,
             const uint16_t sequence_number
     ) const;
+    void send_ack_request( const TcpHeader &tcp_header );
     void schedule_timeout_rst_reply();
     void handle_timeout();