nfd::face::LpFragmenter Class Reference

Fragments network-layer packets into NDNLPv2 link-layer packets. More...

#include <daemon/face/lp-fragmenter.hpp>

Classes

struct  Options
 Options that control the behavior of LpFragmenter. More...
 

Public Member Functions

 LpFragmenter (const Options &options, const LinkService *linkService=nullptr)
 
std::tuple< bool, std::vector< lp::Packet > > fragmentPacket (const lp::Packet &packet, size_t mtu)
 Fragments a network-layer packet into link-layer packets. More...
 
const LinkServicegetLinkService () const noexcept
 Returns the LinkService that owns this instance. More...
 
void setOptions (const Options &options)
 Set options for fragmenter. More...
 

Detailed Description

Fragments network-layer packets into NDNLPv2 link-layer packets.

See also
https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2

Definition at line 39 of file lp-fragmenter.hpp.

Constructor & Destructor Documentation

◆ LpFragmenter()

nfd::face::LpFragmenter::LpFragmenter ( const Options options,
const LinkService linkService = nullptr 
)
explicit

Definition at line 59 of file lp-fragmenter.cpp.

Member Function Documentation

◆ fragmentPacket()

std::tuple< bool, std::vector< lp::Packet > > nfd::face::LpFragmenter::fragmentPacket ( const lp::Packet &  packet,
size_t  mtu 
)

Fragments a network-layer packet into link-layer packets.

Parameters
packetan LpPacket that contains a network-layer packet; must have Fragment field, must not have FragIndex and FragCount fields
mtumaximum allowable LpPacket size after fragmentation and sequence number assignment
Returns
whether fragmentation succeeded, fragmented packets without sequence number

Definition at line 66 of file lp-fragmenter.cpp.

◆ getLinkService()

const LinkService* nfd::face::LpFragmenter::getLinkService ( ) const
inlinenoexcept

Returns the LinkService that owns this instance.

This is only used for logging, and may be nullptr.

Definition at line 71 of file lp-fragmenter.hpp.

◆ setOptions()

void nfd::face::LpFragmenter::setOptions ( const Options options)
inline

Set options for fragmenter.

Definition at line 60 of file lp-fragmenter.hpp.