add dead checking on exit paths

pull/525/head
Jeff Becker 5 years ago
parent 0906888bff
commit 88abe28cc1
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -81,6 +81,12 @@ namespace llarp
return path::Builder::SelectHop(db, prev, cur, hop, roles);
}
bool
BaseSession::CheckPathDead(path::Path *, llarp_time_t dlt)
{
return dlt >= 10000;
}
void
BaseSession::HandlePathBuilt(llarp::path::Path* p)
{
@ -88,7 +94,7 @@ namespace llarp
p->SetDropHandler(std::bind(&BaseSession::HandleTrafficDrop, this,
std::placeholders::_1, std::placeholders::_2,
std::placeholders::_3));
p->SetDeadChecker(std::bind(&BaseSession::CheckPathDead, this, std::placeholders::_1, std::placeholders::_2));
p->SetExitTrafficHandler(
std::bind(&BaseSession::HandleTraffic, this, std::placeholders::_1,
std::placeholders::_2, std::placeholders::_3));

@ -35,6 +35,9 @@ namespace llarp
void
HandlePathDied(llarp::path::Path* p) override;
bool
CheckPathDead(path::Path * p, llarp_time_t dlt);
bool
SelectHop(llarp_nodedb* db, const RouterContact& prev, RouterContact& cur,
size_t hop, llarp::path::PathRole roles) override;

Loading…
Cancel
Save