Browse Source

set UDP receive buffer size

pull/1535/head
orignal 5 years ago
parent
commit
5e0a8ed232
  1. 3
      libi2pd_client/I2PTunnel.cpp
  2. 2
      libi2pd_client/I2PTunnel.h

3
libi2pd_client/I2PTunnel.cpp

@ -692,6 +692,7 @@ namespace client
LocalPort(ourPort), LocalPort(ourPort),
RemotePort(theirPort) RemotePort(theirPort)
{ {
IPSocket.set_option (boost::asio::socket_base::receive_buffer_size (I2P_UDP_MAX_MTU ));
memcpy(Identity, to->data(), 32); memcpy(Identity, to->data(), 32);
Receive(); Receive();
} }
@ -791,6 +792,8 @@ namespace client
RemotePort(remotePort), m_LastPort (0), RemotePort(remotePort), m_LastPort (0),
m_cancel_resolve(false) m_cancel_resolve(false)
{ {
m_LocalSocket.set_option (boost::asio::socket_base::receive_buffer_size (I2P_UDP_MAX_MTU ));
auto dgram = m_LocalDest->CreateDatagramDestination(gzip); auto dgram = m_LocalDest->CreateDatagramDestination(gzip);
dgram->SetReceiver(std::bind(&I2PUDPClientTunnel::HandleRecvFromI2P, this, dgram->SetReceiver(std::bind(&I2PUDPClientTunnel::HandleRecvFromI2P, this,
std::placeholders::_1, std::placeholders::_2, std::placeholders::_1, std::placeholders::_2,

2
libi2pd_client/I2PTunnel.h

@ -167,7 +167,7 @@ namespace client
const uint64_t I2P_UDP_SESSION_TIMEOUT = 1000 * 60 * 2; const uint64_t I2P_UDP_SESSION_TIMEOUT = 1000 * 60 * 2;
/** max size for i2p udp */ /** max size for i2p udp */
const size_t I2P_UDP_MAX_MTU = i2p::datagram::MAX_DATAGRAM_SIZE; const size_t I2P_UDP_MAX_MTU = 64*1024;
struct UDPSession struct UDPSession
{ {

Loading…
Cancel
Save