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

Method ExtractCaps

libi2pd/RouterInfo.cpp:514–559  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

512 }
513
514 void RouterInfo::ExtractCaps (std::string_view value)
515 {
516 for (auto cap: value)
517 {
518 switch (cap)
519 {
520 case CAPS_FLAG_FLOODFILL:
521 m_Caps |= Caps::eFloodfill;
522 break;
523 case CAPS_FLAG_LOW_BANDWIDTH1:
524 case CAPS_FLAG_LOW_BANDWIDTH2:
525 case CAPS_FLAG_LOW_BANDWIDTH3:
526 case CAPS_FLAG_LOW_BANDWIDTH4:
527 m_BandwidthCap = cap;
528 break;
529 case CAPS_FLAG_HIGH_BANDWIDTH:
530 m_Caps |= Caps::eHighBandwidth;
531 m_BandwidthCap = cap;
532 break;
533 case CAPS_FLAG_EXTRA_BANDWIDTH1:
534 case CAPS_FLAG_EXTRA_BANDWIDTH2:
535 m_Caps |= Caps::eExtraBandwidth | Caps::eHighBandwidth;
536 m_BandwidthCap = cap;
537 break;
538 case CAPS_FLAG_HIDDEN:
539 m_Caps |= Caps::eHidden;
540 break;
541 case CAPS_FLAG_REACHABLE:
542 m_Caps |= Caps::eReachable;
543 break;
544 case CAPS_FLAG_UNREACHABLE:
545 m_Caps |= Caps::eUnreachable;
546 break;
547 case CAPS_FLAG_MEDIUM_CONGESTION:
548 m_Congestion = eMediumCongestion;
549 break;
550 case CAPS_FLAG_HIGH_CONGESTION:
551 m_Congestion = eHighCongestion;
552 break;
553 case CAPS_FLAG_REJECT_ALL_CONGESTION:
554 m_Congestion = eRejectAll;
555 break;
556 default: ;
557 }
558 }
559 }
560
561 uint8_t RouterInfo::ExtractAddressCaps (std::string_view value) const
562 {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected