fix: try a tcp peer connection before a utp one. (#4826)
This commit is contained in:
parent
e2a31f37f7
commit
ba679a814f
|
@ -130,7 +130,15 @@ std::shared_ptr<tr_peerIo> tr_peerIo::new_outgoing(
|
|||
|
||||
auto peer_io = tr_peerIo::create(session, parent, &info_hash, false, is_seed);
|
||||
|
||||
// try a TCP socket
|
||||
if (auto sock = tr_netOpenPeerSocket(session, addr, port, is_seed); sock.is_valid())
|
||||
{
|
||||
peer_io->set_socket(std::move(sock));
|
||||
return peer_io;
|
||||
}
|
||||
|
||||
#ifdef WITH_UTP
|
||||
// try a UTP socket
|
||||
if (utp)
|
||||
{
|
||||
auto* const sock = utp_create_socket(session->utp_context);
|
||||
|
@ -145,15 +153,6 @@ std::shared_ptr<tr_peerIo> tr_peerIo::new_outgoing(
|
|||
}
|
||||
#endif
|
||||
|
||||
if (!peer_io->socket_.is_valid())
|
||||
{
|
||||
if (auto sock = tr_netOpenPeerSocket(session, addr, port, is_seed); sock.is_valid())
|
||||
{
|
||||
peer_io->set_socket(std::move(sock));
|
||||
return peer_io;
|
||||
}
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue