added more logging to upnp. fixed upnp test

This commit is contained in:
Arvid Norberg
2007-05-14 08:56:46 +00:00
parent c5e150ee69
commit 36898ecc12
3 changed files with 17 additions and 1 deletions

View File

@@ -195,6 +195,13 @@ catch (std::exception&)
void upnp::set_mappings(int tcp, int udp) void upnp::set_mappings(int tcp, int udp)
{ {
#ifdef TORRENT_UPNP_LOGGING
m_log << time_now_string()
<< " *** set mappings " << tcp << " " << udp;
if (m_disabled) m_log << " DISABLED";
m_log << std::endl;
#endif
if (m_disabled) return; if (m_disabled) return;
if (udp != 0) m_udp_local_port = udp; if (udp != 0) m_udp_local_port = udp;
if (tcp != 0) m_tcp_local_port = tcp; if (tcp != 0) m_tcp_local_port = tcp;
@@ -392,11 +399,17 @@ try
{ {
d.mapping[0].need_update = true; d.mapping[0].need_update = true;
d.mapping[0].local_port = m_tcp_local_port; d.mapping[0].local_port = m_tcp_local_port;
#ifdef TORRENT_UPNP_LOGGING
m_log << time_now_string() << " *** Mapping 0 will be updated" << std::endl;
#endif
} }
if (m_udp_local_port != 0) if (m_udp_local_port != 0)
{ {
d.mapping[1].need_update = true; d.mapping[1].need_update = true;
d.mapping[1].local_port = m_udp_local_port; d.mapping[1].local_port = m_udp_local_port;
#ifdef TORRENT_UPNP_LOGGING
m_log << time_now_string() << " *** Mapping 1 will be updated" << std::endl;
#endif
} }
boost::tie(i, boost::tuples::ignore) = m_devices.insert(d); boost::tie(i, boost::tuples::ignore) = m_devices.insert(d);
} }

View File

@@ -1,6 +1,6 @@
use-project /torrent : .. ; use-project /torrent : .. ;
exe test_upnp : test_upnp.cpp /torrent : <threading>multi <logging>verbose <define>TORRENT_UPNP_LOGGING ; exe test_upnp : test_upnp.cpp /torrent : <threading>multi <logging>verbose <upnp-logging>on ;
project project
: :

View File

@@ -35,6 +35,9 @@ int main(int argc, char* argv[])
ios.run(); ios.run();
upnp_handler.rebind(address_v4::from_string(argv[1])); upnp_handler.rebind(address_v4::from_string(argv[1]));
timer.expires_from_now(seconds(2));
timer.async_wait(boost::bind(&io_service::stop, boost::ref(ios)));
std::cerr << "rebinding to IP " << argv[1] std::cerr << "rebinding to IP " << argv[1]
<< " broadcasting for UPnP device" << std::endl; << " broadcasting for UPnP device" << std::endl;