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 the 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 the 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 this option 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.