Merge pull request #455 from majestrate/master

staging
pull/456/head
Jeff 5 years ago committed by GitHub
commit 80e8c4006b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -611,9 +611,7 @@ namespace llarp
return false; return false;
buf.sz = buf.cur - buf.base; buf.sz = buf.cur - buf.base;
buf.cur = buf.base; buf.cur = buf.base;
if(!this->QueueWriteBuffers(buf)) return this->QueueWriteBuffers(buf);
return false;
PumpWrite();
} }
return true; return true;
}; };
@ -765,6 +763,9 @@ namespace llarp
{ {
if(sendq.size() >= MaxSendQueueSize) if(sendq.size() >= MaxSendQueueSize)
return false; return false;
// premptive pump
if(sendq.size() >= MaxSendQueueSize / 2)
PumpWrite();
size_t sz = buf.sz; size_t sz = buf.sz;
byte_t* ptr = buf.base; byte_t* ptr = buf.base;
uint32_t msgid = m_NextTXMsgID++; uint32_t msgid = m_NextTXMsgID++;

@ -575,18 +575,10 @@ namespace llarp
return; return;
} }
} }
if(m_LastRecvMessage && now > m_LastRecvMessage if(m_LastRecvMessage && now > m_LastRecvMessage)
&& now - m_LastRecvMessage > PATH_ALIVE_TIMEOUT)
{ {
if(m_CheckForDead) auto dlt = now - m_LastRecvMessage;
{ if(m_CheckForDead && m_CheckForDead(this, dlt))
if(m_CheckForDead(this, dlt))
{
r->routerProfiling().MarkPathFail(this);
EnterState(ePathTimeout, now);
}
}
else
{ {
r->routerProfiling().MarkPathFail(this); r->routerProfiling().MarkPathFail(this);
EnterState(ePathTimeout, now); EnterState(ePathTimeout, now);

@ -1057,8 +1057,11 @@ namespace llarp
} }
bool bool
Endpoint::CheckPathIsDead(path::Path*, llarp_time_t) Endpoint::CheckPathIsDead(path::Path*, llarp_time_t dlt)
{ {
if(dlt <= 30000)
return false;
RouterLogic()->call_later( RouterLogic()->call_later(
{100, this, [](void* u, uint64_t, uint64_t left) { {100, this, [](void* u, uint64_t, uint64_t left) {
if(left) if(left)

Loading…
Cancel
Save