MCPcopy Create free account
hub / github.com/PurpleI2P/i2pd / SetStatus

Method SetStatus

libi2pd/RouterContext.cpp:343–370  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

341 }
342
343 void RouterContext::SetStatus (RouterStatus status)
344 {
345 SetTesting (false);
346 if (status != m_Status)
347 {
348 LogPrint(eLogInfo, "Router: network status v4 changed ",
349 ROUTER_STATUS_NAMES[m_Status], " -> ", ROUTER_STATUS_NAMES[status]);
350 m_Status = status;
351 switch (m_Status)
352 {
353 case eRouterStatusOK:
354 SetReachable (true, false); // ipv4
355 break;
356 case eRouterStatusFirewalled:
357 SetUnreachable (true, false); // ipv4
358 break;
359 case eRouterStatusMesh:
360 m_RouterInfo.UpdateCaps (m_RouterInfo.GetCaps () | i2p::data::RouterInfo::eReachable);
361 break;
362 case eRouterStatusProxy:
363 case eRouterStatusStan:
364 m_RouterInfo.UpdateCaps ((m_RouterInfo.GetCaps () | i2p::data::RouterInfo::eUnreachable) & ~i2p::data::RouterInfo::eReachable);
365 break;
366 default:
367 ;
368 }
369 }
370 }
371
372 void RouterContext::SetStatusV6 (RouterStatus status)
373 {

Callers 5

StartMethod · 0.80
DetectExternalIPMethod · 0.80
InitTransportsFunction · 0.80
HandleAddressMethod · 0.80
SetRouterStatusMethod · 0.80

Calls 3

LogPrintFunction · 0.85
UpdateCapsMethod · 0.80
GetCapsMethod · 0.80

Tested by

no test coverage detected