fix: try a tcp peer connection before a utp one. (#4826)

This commit is contained in:
Charles Kerr 2023-02-11 16:14:32 -06:00 committed by GitHub
parent e2a31f37f7
commit ba679a814f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 9 deletions

View File

@ -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 {};
}