nfd::face::GenericLinkService::Options Class Reference

Options that control the behavior of GenericLinkService. More...

#include <daemon/face/generic-link-service.hpp>

+ Collaboration diagram for nfd::face::GenericLinkService::Options:

Public Member Functions

 Options () noexcept
 

Public Attributes

bool allowCongestionMarking = false
 enables send queue congestion detection and marking More...
 
bool allowFragmentation = false
 enables fragmentation More...
 
bool allowLocalFields = false
 enables encoding of IncomingFaceId, and decoding of NextHopFaceId and CachePolicy More...
 
bool allowReassembly = false
 enables reassembly More...
 
bool allowSelfLearning = true
 enables self-learning forwarding support More...
 
time::nanoseconds baseCongestionMarkingInterval = 100_ms
 starting value for congestion marking interval More...
 
size_t defaultCongestionThreshold = 65536
 default congestion threshold in bytes More...
 
LpFragmenter::Options fragmenterOptions
 options for fragmentation More...
 
ssize_t overrideMtu = std::numeric_limits<ssize_t>::max()
 overrides MTU provided by Transport More...
 
LpReassembler::Options reassemblerOptions
 options for reassembly More...
 
LpReliability::Options reliabilityOptions
 options for reliability More...
 

Detailed Description

Options that control the behavior of GenericLinkService.

Definition at line 102 of file generic-link-service.hpp.

Constructor & Destructor Documentation

◆ Options()

nfd::face::GenericLinkService::Options::Options ( )
inlinenoexcept

Definition at line 105 of file generic-link-service.hpp.

Member Data Documentation

◆ allowCongestionMarking

bool nfd::face::GenericLinkService::Options::allowCongestionMarking = false

enables send queue congestion detection and marking

Definition at line 136 of file generic-link-service.hpp.

◆ allowFragmentation

bool nfd::face::GenericLinkService::Options::allowFragmentation = false

enables fragmentation

Definition at line 116 of file generic-link-service.hpp.

◆ allowLocalFields

bool nfd::face::GenericLinkService::Options::allowLocalFields = false

enables encoding of IncomingFaceId, and decoding of NextHopFaceId and CachePolicy

Definition at line 112 of file generic-link-service.hpp.

◆ allowReassembly

bool nfd::face::GenericLinkService::Options::allowReassembly = false

enables reassembly

Definition at line 124 of file generic-link-service.hpp.

◆ allowSelfLearning

bool nfd::face::GenericLinkService::Options::allowSelfLearning = true

enables self-learning forwarding support

Definition at line 156 of file generic-link-service.hpp.

◆ baseCongestionMarkingInterval

time::nanoseconds nfd::face::GenericLinkService::Options::baseCongestionMarkingInterval = 100_ms

starting value for congestion marking interval

Packets are marked if the queue size stays above THRESHOLD for at least one INTERVAL.

The default value (100 ms) is taken from RFC 8289 (CoDel).

Definition at line 144 of file generic-link-service.hpp.

◆ defaultCongestionThreshold

size_t nfd::face::GenericLinkService::Options::defaultCongestionThreshold = 65536

default congestion threshold in bytes

Packets are marked if the queue size stays above THRESHOLD for at least one INTERVAL.

The default value (64 KiB) works well for a queue capacity of 200 KiB.

Definition at line 152 of file generic-link-service.hpp.

◆ fragmenterOptions

LpFragmenter::Options nfd::face::GenericLinkService::Options::fragmenterOptions

options for fragmentation

Definition at line 120 of file generic-link-service.hpp.

◆ overrideMtu

ssize_t nfd::face::GenericLinkService::Options::overrideMtu = std::numeric_limits<ssize_t>::max()

overrides MTU provided by Transport

This MTU value will be used instead of the MTU provided by the transport if it is less than the transport MTU. However, it will not be utilized when the transport MTU is unlimited.

Acceptable values for the override MTU are values >= MIN_MTU, which can be validated before being set with canOverrideMtuTo().

Definition at line 166 of file generic-link-service.hpp.

◆ reassemblerOptions

LpReassembler::Options nfd::face::GenericLinkService::Options::reassemblerOptions

options for reassembly

Definition at line 128 of file generic-link-service.hpp.

◆ reliabilityOptions

LpReliability::Options nfd::face::GenericLinkService::Options::reliabilityOptions

options for reliability

Definition at line 132 of file generic-link-service.hpp.