Browse Source

select really other remote lease

pull/167/head
orignal 10 years ago
parent
commit
6125288e95
  1. 12
      Streaming.cpp
  2. 2
      Streaming.h

12
Streaming.cpp

@ -608,17 +608,16 @@ namespace stream @@ -608,17 +608,16 @@ namespace stream
LogPrint (eLogInfo, "All leases are expired. Trying to request");
m_RemoteLeaseSet = nullptr;
m_LocalDestination.GetOwner ().RequestDestination (m_RemoteIdentity.GetIdentHash (),
std::bind (&Stream::HandleLeaseSetRequestComplete, shared_from_this (),
std::placeholders::_1, packets));
std::bind (&Stream::HandleLeaseSetRequestComplete, shared_from_this (), std::placeholders::_1));
}
}
void Stream::HandleLeaseSetRequestComplete (bool success, std::vector<Packet *> packets)
void Stream::HandleLeaseSetRequestComplete (bool success)
{
if (success)
{
LogPrint (eLogInfo, "New LeaseSet found. Sending packets");
SendPackets (packets);
LogPrint (eLogInfo, "New LeaseSet found");
UpdateCurrentRemoteLease ();
}
}
@ -717,6 +716,9 @@ namespace stream @@ -717,6 +716,9 @@ namespace stream
if (!leases.empty ())
{
uint32_t i = i2p::context.GetRandomNumberGenerator ().GenerateWord32 (0, leases.size () - 1);
if (m_CurrentRemoteLease.endDate && leases[i].tunnelID == m_CurrentRemoteLease.tunnelID)
// make sure we don't select previous
i = (i + 1) % leases.size (); // if so, pick next
m_CurrentRemoteLease = leases[i];
}
else

2
Streaming.h

@ -147,7 +147,7 @@ namespace stream @@ -147,7 +147,7 @@ namespace stream
template<typename Buffer, typename ReceiveHandler>
void HandleReceiveTimer (const boost::system::error_code& ecode, const Buffer& buffer, ReceiveHandler handler);
void HandleLeaseSetRequestComplete (bool success, std::vector<Packet *> packets);
void HandleLeaseSetRequestComplete (bool success);
void ScheduleResend ();
void HandleResendTimer (const boost::system::error_code& ecode);

Loading…
Cancel
Save