nfd::face::GenericLinkServiceOptions Struct Reference

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

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

+ Collaboration diagram for nfd::face::GenericLinkServiceOptions:

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.

Note
The type name GenericLinkServiceOptions is an implementation detail. Use GenericLinkService::Options in public API.

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

Member Data Documentation

◆ allowCongestionMarking

bool nfd::face::GenericLinkServiceOptions::allowCongestionMarking = false

Enables send queue congestion detection and marking.

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

◆ allowFragmentation

bool nfd::face::GenericLinkServiceOptions::allowFragmentation = false

Enables fragmentation.

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

◆ allowLocalFields

bool nfd::face::GenericLinkServiceOptions::allowLocalFields = false

Enables encoding of IncomingFaceId, and decoding of NextHopFaceId and CachePolicy.

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

◆ allowReassembly

bool nfd::face::GenericLinkServiceOptions::allowReassembly = false

Enables reassembly.

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

◆ allowSelfLearning

bool nfd::face::GenericLinkServiceOptions::allowSelfLearning = true

Enables self-learning forwarding support.

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

◆ baseCongestionMarkingInterval

time::nanoseconds nfd::face::GenericLinkServiceOptions::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 131 of file generic-link-service.hpp.

◆ defaultCongestionThreshold

size_t nfd::face::GenericLinkServiceOptions::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 139 of file generic-link-service.hpp.

◆ fragmenterOptions

LpFragmenter::Options nfd::face::GenericLinkServiceOptions::fragmenterOptions

Options for fragmentation.

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

◆ overrideMtu

ssize_t nfd::face::GenericLinkServiceOptions::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 153 of file generic-link-service.hpp.

◆ reassemblerOptions

LpReassembler::Options nfd::face::GenericLinkServiceOptions::reassemblerOptions

Options for reassembly.

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

◆ reliabilityOptions

LpReliability::Options nfd::face::GenericLinkServiceOptions::reliabilityOptions

Options for reliability.

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