Sunshine latest
Self-hosted game stream host for Moonlight.
upnp::deinit_t Class Reference
Inheritance diagram for upnp::deinit_t:
[legend]
Collaboration diagram for upnp::deinit_t:
[legend]

Public Member Functions

bool create_ipv6_pinholes ()
 Opens pinholes for IPv6 traffic if the IGD is capable.
 
bool map_upnp_port (const IGDdatas &data, const urls_t &urls, const std::string &lan_addr, const mapping_t &mapping)
 Maps a port via UPnP.
 
void unmap_all_upnp_ports (const urls_t &urls, const IGDdatas &data)
 Unmaps all ports.
 
void upnp_thread_proc ()
 Maintains UPnP port forwarding rules.
 

Public Attributes

std::vector< mapping_tmappings
 
std::thread upnp_thread
 

Constructor & Destructor Documentation

◆ ~deinit_t()

upnp::deinit_t::~deinit_t ( )
inlinevirtual

Reimplemented from platf::deinit_t.

Member Function Documentation

◆ create_ipv6_pinholes()

bool upnp::deinit_t::create_ipv6_pinholes ( )
inline

Opens pinholes for IPv6 traffic if the IGD is capable.

Not many IGDs support this feature, so we perform error logging with debug level.

Returns
true if the pinholes were opened successfully.

◆ map_upnp_port()

bool upnp::deinit_t::map_upnp_port ( const IGDdatas & data,
const urls_t & urls,
const std::string & lan_addr,
const mapping_t & mapping )
inline

Maps a port via UPnP.

Parameters
dataIGDdatas from UPNP_GetValidIGD()
urlsurls_t from UPNP_GetValidIGD()
lan_addrLocal IP address to map to
mappingInformation about port to map
Returns
true on success.

◆ unmap_all_upnp_ports()

void upnp::deinit_t::unmap_all_upnp_ports ( const urls_t & urls,
const IGDdatas & data )
inline

Unmaps all ports.

Parameters
urlsurls_t from UPNP_GetValidIGD()
dataIGDdatas from UPNP_GetValidIGD()

The documentation for this class was generated from the following file: