move where socket buffers are set up, to happen after the socket is opened. log errors in the peer's log instead of session and torrent
This commit is contained in:
parent
7a51813d32
commit
507fffe872
|
@ -145,8 +145,8 @@ namespace libtorrent {
|
|||
|
||||
std::string peer_alert::message() const
|
||||
{
|
||||
return torrent_alert::message() + " peer (" + print_endpoint(endpoint)
|
||||
+ ", " + aux::identify_client_impl(pid) + ")";
|
||||
return torrent_alert::message() + " peer [ " + print_endpoint(endpoint)
|
||||
+ " client: " + aux::identify_client_impl(pid) + " ]";
|
||||
}
|
||||
|
||||
tracker_alert::tracker_alert(aux::stack_allocator& alloc
|
||||
|
|
|
@ -65,6 +65,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||
#include "libtorrent/aux_/time.hpp"
|
||||
#include "libtorrent/buffer.hpp"
|
||||
#include "libtorrent/aux_/array.hpp"
|
||||
#include "libtorrent/aux_/set_socket_buffer.hpp"
|
||||
|
||||
#if TORRENT_USE_ASSERTS
|
||||
#include <set>
|
||||
|
@ -387,7 +388,22 @@ namespace libtorrent {
|
|||
}
|
||||
|
||||
// if this is an incoming connection, we're done here
|
||||
if (!m_connecting) return;
|
||||
if (!m_connecting)
|
||||
{
|
||||
error_code err;
|
||||
aux::set_socket_buffer_size(*m_socket, m_settings, err);
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
if (err && should_log(peer_log_alert::incoming))
|
||||
{
|
||||
error_code ignore;
|
||||
peer_log(peer_log_alert::incoming, "SOCKET_BUFFER", "%s %s"
|
||||
, print_endpoint(m_remote).c_str()
|
||||
, print_error(err).c_str());
|
||||
}
|
||||
#endif
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
if (should_log(peer_log_alert::outgoing))
|
||||
|
@ -422,6 +438,20 @@ namespace libtorrent {
|
|||
return;
|
||||
}
|
||||
|
||||
{
|
||||
error_code err;
|
||||
aux::set_socket_buffer_size(*m_socket, m_settings, err);
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
if (err && should_log(peer_log_alert::outgoing))
|
||||
{
|
||||
error_code ignore;
|
||||
peer_log(peer_log_alert::outgoing, "SOCKET_BUFFER", "%s %s"
|
||||
, print_endpoint(m_remote).c_str()
|
||||
, print_error(err).c_str());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
if (should_log(peer_log_alert::outgoing))
|
||||
{
|
||||
|
|
|
@ -2920,20 +2920,6 @@ namespace aux {
|
|||
if (m_alerts.should_post<incoming_connection_alert>())
|
||||
m_alerts.emplace_alert<incoming_connection_alert>(s->type(), endp);
|
||||
|
||||
{
|
||||
error_code err;
|
||||
set_socket_buffer_size(*s, m_settings, err);
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
if (err && should_log())
|
||||
{
|
||||
error_code ignore;
|
||||
session_log("socket buffer size [ %s %d ]: %s"
|
||||
, s->local_endpoint().address().to_string(ignore).c_str()
|
||||
, s->local_endpoint().port(), print_error(err).c_str());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
peer_connection_args pack{
|
||||
this
|
||||
, &m_settings
|
||||
|
@ -6419,9 +6405,9 @@ namespace aux {
|
|||
if (ec && should_log())
|
||||
{
|
||||
error_code err;
|
||||
session_log("socket buffer size [ udp %s %d]: (%d) %s"
|
||||
session_log("listen socket buffer size [ udp %s:%d ] %s"
|
||||
, l->udp_sock->sock.local_endpoint().address().to_string(err).c_str()
|
||||
, l->udp_sock->sock.local_port(), ec.value(), ec.message().c_str());
|
||||
, l->udp_sock->sock.local_port(), print_error(ec).c_str());
|
||||
}
|
||||
#endif
|
||||
ec.clear();
|
||||
|
@ -6430,9 +6416,9 @@ namespace aux {
|
|||
if (ec && should_log())
|
||||
{
|
||||
error_code err;
|
||||
session_log("socket buffer size [ udp %s %d]: (%d) %s"
|
||||
session_log("listen socket buffer size [ tcp %s:%d] %s"
|
||||
, l->sock->local_endpoint().address().to_string(err).c_str()
|
||||
, l->sock->local_endpoint().port(), ec.value(), ec.message().c_str());
|
||||
, l->sock->local_endpoint().port(), print_error(ec).c_str());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -57,13 +57,14 @@ namespace aux {
|
|||
allocation_slot stack_allocator::format_string(char const* fmt, va_list v)
|
||||
{
|
||||
int const ret = int(m_storage.size());
|
||||
m_storage.resize(ret + 512);
|
||||
int const max_size = 1024;
|
||||
m_storage.resize(ret + max_size);
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wformat-nonliteral"
|
||||
#endif
|
||||
int const len = std::vsnprintf(m_storage.data() + ret, 512, fmt, v);
|
||||
int const len = std::vsnprintf(m_storage.data() + ret, max_size, fmt, v);
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
@ -75,7 +76,7 @@ namespace aux {
|
|||
}
|
||||
|
||||
// +1 is to include the 0-terminator
|
||||
m_storage.resize(ret + (len > 512 ? 512 : len) + 1);
|
||||
m_storage.resize(ret + std::min(len, max_size) + 1);
|
||||
return allocation_slot(ret);
|
||||
}
|
||||
|
||||
|
|
|
@ -99,7 +99,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||
#include "libtorrent/disk_io_thread.hpp" // for cache_status
|
||||
#include "libtorrent/aux_/numeric_cast.hpp"
|
||||
#include "libtorrent/aux_/path.hpp"
|
||||
#include "libtorrent/aux_/set_socket_buffer.hpp"
|
||||
#include "libtorrent/aux_/generate_peer_id.hpp"
|
||||
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
|
@ -3204,12 +3203,8 @@ bool is_downloading_state(int const st)
|
|||
resolved_to += i.to_string();
|
||||
resolved_to += ", ";
|
||||
}
|
||||
debug_log("TRACKER RESPONSE\n"
|
||||
"interval: %d\n"
|
||||
"min-interval: %d\n"
|
||||
"external ip: %s\n"
|
||||
"resolved to: %s\n"
|
||||
"we connected to: %s\n"
|
||||
debug_log("TRACKER RESPONSE [ interval: %d | min-interval: %d | "
|
||||
"external ip: %s | resolved to: %s | we connected to: %s ]"
|
||||
, interval.count()
|
||||
, resp.min_interval.count()
|
||||
, print_address(resp.external_ip).c_str()
|
||||
|
@ -6562,21 +6557,6 @@ bool is_downloading_state(int const st)
|
|||
#endif
|
||||
}
|
||||
|
||||
{
|
||||
error_code err;
|
||||
aux::set_socket_buffer_size(*s, settings(), err);
|
||||
#ifndef TORRENT_DISABLE_LOGGING
|
||||
if (err && should_log())
|
||||
{
|
||||
error_code ignore;
|
||||
auto const lep = s->local_endpoint(ignore);
|
||||
debug_log("socket buffer size [ %s %d]: (%d) %s"
|
||||
, lep.address().to_string(ignore).c_str()
|
||||
, lep.port(), err.value(), err.message().c_str());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
peer_id const our_pid = aux::generate_peer_id(settings());
|
||||
peer_connection_args pack{
|
||||
&m_ses
|
||||
|
|
Loading…
Reference in New Issue