26 #ifndef NFD_DAEMON_FACE_GENERIC_LINK_SERVICE_HPP 27 #define NFD_DAEMON_FACE_GENERIC_LINK_SERVICE_HPP 187 doSendInterest(
const Interest& interest)
override;
192 doSendData(
const Data& data)
override;
212 sendNetPacket(
lp::Packet&& pkt,
bool isInterest);
222 assignSequences(std::vector<lp::Packet>& pkts);
292 static constexpr
size_t CONGESTION_MARK_SIZE = 3 + 1 +
sizeof(uint64_t);
299 size_t m_nMarkedSinceInMarkingState;
319 #endif // NFD_DAEMON_FACE_GENERIC_LINK_SERVICE_HPP #define PUBLIC_WITH_TESTS_ELSE_PRIVATE
LpFragmenter::Options fragmenterOptions
options for fragmentation
GenericLinkService is a LinkService that implements the NDNLPv2 protocol.
bool allowReassembly
enables reassembly
Options that control the behavior of LpFragmenter.
Options that control the behavior of LpReassembler.
PacketCounter nRetxExhausted
count of network-layer packets dropped because a fragment reached the maximum number of retransmissio...
bool allowLocalFields
enables encoding of IncomingFaceId, and decoding of NextHopFaceId and CachePolicy
PacketCounter nCongestionMarked
count of outgoing LpPackets that were marked with congestion marks
size_t defaultCongestionThreshold
default congestion threshold in bytes
stores a packet along with the remote endpoint
PacketCounter nReassemblyTimeouts
count of dropped partial network-layer packets due to reassembly timeout
LpReliability::Options reliabilityOptions
options for reliability
const Counters & getCounters() const override
Represents a TLV element of NDN packet format.
Represents an Interest packet.
represents a counter of number of packets
constexpr Options() noexcept
PacketCounter nRetransmitted
count of network-layer packets that had at least one fragment retransmitted, but were eventually rece...
uint64_t Sequence
represents a sequence number
represents a Network Nack
GenericLinkService(const Options &options={})
PacketCounter nOutOverMtu
count of outgoing LpPackets dropped due to exceeding MTU limit
bool allowSelfLearning
enables self-learning forwarding support
bool allowCongestionMarking
enables send queue congestion detection and marking
Copyright (c) 2011-2015 Regents of the University of California.
time::nanoseconds baseCongestionMarkingInterval
starting value for congestion marking interval
GenericLinkServiceCounters Counters
counters provided by GenericLinkService
base class to allow simple management of packet tags
counters provided by LinkService
reassembles fragmented network-layer packets
SizeCounter< LpReassembler > nReassembling
count of network-layer packets currently being reassembled
void setOptions(const Options &options)
sets Options used by GenericLinkService
provides a counter that observes the size of a table
counters provided by GenericLinkService
Options that control the behavior of GenericLinkService.
PacketCounter nAcknowledged
count of network-layer packets that did not require retransmission of a fragment
PacketCounter nInNetInvalid
count of invalid reassembled network-layer packets dropped
#define PROTECTED_WITH_TESTS_ELSE_PRIVATE
const Options & getOptions() const
get Options used by GenericLinkService
LpReassembler::Options reassemblerOptions
options for reassembly
Represents a Data packet.
provides for reliable sending and receiving of link-layer packets
fragments network-layer packets into NDNLPv2 link-layer packets
PacketCounter nInLpInvalid
count of invalid LpPackets dropped before reassembly
PacketCounter nFragmentationErrors
count of failed fragmentations
bool allowFragmentation
enables fragmentation