return a vector of mapping ids from add_port_mapping

This commit is contained in:
Steven Siloti 2018-05-29 17:49:41 -07:00
parent e523566622
commit fbaa1afd62
4 changed files with 10 additions and 10 deletions

View File

@ -646,7 +646,7 @@ namespace aux {
void stop_natpmp(); void stop_natpmp();
void stop_upnp(); void stop_upnp();
port_mapping_t add_port_mapping(portmap_protocol t, int external_port std::vector<port_mapping_t> add_port_mapping(portmap_protocol t, int external_port
, int local_port); , int local_port);
void delete_port_mapping(port_mapping_t handle); void delete_port_mapping(port_mapping_t handle);

View File

@ -1012,7 +1012,7 @@ namespace libtorrent {
// whichever is enabled. The return value is a handle referring to the // whichever is enabled. The return value is a handle referring to the
// port mapping that was just created. Pass it to delete_port_mapping() // port mapping that was just created. Pass it to delete_port_mapping()
// to remove it. // to remove it.
port_mapping_t add_port_mapping(portmap_protocol t, int external_port, int local_port); std::vector<port_mapping_t> add_port_mapping(portmap_protocol t, int external_port, int local_port);
void delete_port_mapping(port_mapping_t handle); void delete_port_mapping(port_mapping_t handle);
// This option indicates if the ports are mapped using natpmp // This option indicates if the ports are mapped using natpmp

View File

@ -1226,10 +1226,10 @@ namespace {
} }
#endif // TORRENT_ABI_VERSION #endif // TORRENT_ABI_VERSION
port_mapping_t session_handle::add_port_mapping(portmap_protocol const t std::vector<port_mapping_t> session_handle::add_port_mapping(portmap_protocol const t
, int external_port, int local_port) , int external_port, int local_port)
{ {
return sync_call_ret<port_mapping_t>(&session_impl::add_port_mapping, t, external_port, local_port); return sync_call_ret<std::vector<port_mapping_t>>(&session_impl::add_port_mapping, t, external_port, local_port);
} }
void session_handle::delete_port_mapping(port_mapping_t handle) void session_handle::delete_port_mapping(port_mapping_t handle)

View File

@ -6696,17 +6696,17 @@ namespace aux {
return m_upnp.get(); return m_upnp.get();
} }
port_mapping_t session_impl::add_port_mapping(portmap_protocol const t std::vector<port_mapping_t> session_impl::add_port_mapping(portmap_protocol const t
, int const external_port , int const external_port
, int const local_port) , int const local_port)
{ {
port_mapping_t ret{-1}; std::vector<port_mapping_t> ret;
if (m_upnp) ret = m_upnp->add_mapping(t, external_port if (m_upnp) ret.push_back(m_upnp->add_mapping(t, external_port
, tcp::endpoint({}, static_cast<std::uint16_t>(local_port))); , tcp::endpoint({}, static_cast<std::uint16_t>(local_port))));
for (auto& s : m_listen_sockets) for (auto& s : m_listen_sockets)
{ {
if (s->natpmp_mapper) ret = s->natpmp_mapper->add_mapping(t, external_port if (s->natpmp_mapper) ret.push_back(s->natpmp_mapper->add_mapping(t, external_port
, tcp::endpoint({}, static_cast<std::uint16_t>(local_port))); , tcp::endpoint({}, static_cast<std::uint16_t>(local_port))));
} }
return ret; return ret;
} }