esp8266ndn
NDN Arduino library for ESP8266 and more
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Private Member Functions | List of all members
ndnph::rdr::RdrMetadataProducer Class Reference

Producer of RDR metadata packet. More...

#include <rdr.hpp>

Inherits ndnph::PacketHandler.

Classes

struct  Options
 

Public Member Functions

 RdrMetadataProducer (const Name &rdrPrefix, Face &face, const Options &opts)
 Constructor. More...
 
 RdrMetadataProducer (const Name &rdrPrefix, Face &face)
 
void setDatasetPrefix (Name datasetPrefix)
 Set the dataset prefix. More...
 
- Public Member Functions inherited from ndnph::PacketHandler
 PacketHandler ()=default
 Construct without adding to Face. More...
 
 PacketHandler (Face &face, int8_t prio=0)
 Construct and add handler to Face. More...
 

Private Member Functions

virtual void prepareRdrContent (Encoder &encoder, const Name &datasetPrefix)
 Prepare Content of RDR metadata packet. More...
 

Additional Inherited Members

- Public Types inherited from ndnph::PacketHandler
using PacketInfo = Face::PacketInfo
 
- Protected Member Functions inherited from ndnph::PacketHandler
virtual ~PacketHandler ()
 Remove handler from Face. More...
 
FacegetFace () const
 
const PacketInfogetCurrentPacketInfo () const
 Retrieve information about current processing packet. More...
 
template<typename Packet >
bool send (Region &region, const Packet &packet, PacketInfo pi={})
 Synchronously transmit a packet. More...
 
template<typename Packet , typename... PacketInfoModifier>
bool send (Region &region, const Packet &packet, const PacketInfoModifier &... pim)
 Synchronously transmit a packet. More...
 
template<typename Packet , typename... Arg, typename = typename std::enable_if< !std::is_base_of<Region, typename std::decay<Packet>::type>::value>::type>
bool send (const Packet &packet, Arg &&... arg)
 Synchronously transmit a packet. More...
 
template<typename... Arg>
bool reply (Arg &&... arg)
 Synchronously transmit a packet in reply to current processing packet. More...
 

Detailed Description

Producer of RDR metadata packet.

See also
https://redmine.named-data.net/projects/ndn-tlv/wiki/RDR

This is typically used together with SegmentProducer to serve a versioned dataset. When a new version becomes available, application shall invoke SegmentProducer::setContent and RdrMetadataProducer::setDatasetPrefix with the same prefix.

Constructor & Destructor Documentation

◆ RdrMetadataProducer() [1/2]

ndnph::rdr::RdrMetadataProducer::RdrMetadataProducer ( const Name rdrPrefix,
Face face,
const Options opts 
)
inlineexplicit

Constructor.

Parameters
rdrPrefixprefix of metadata packets; must be kept alive until producer is destructed.
faceface for communication.
optsoptions.

◆ RdrMetadataProducer() [2/2]

ndnph::rdr::RdrMetadataProducer::RdrMetadataProducer ( const Name rdrPrefix,
Face face 
)
inlineexplicit

Member Function Documentation

◆ prepareRdrContent()

virtual void ndnph::rdr::RdrMetadataProducer::prepareRdrContent ( Encoder encoder,
const Name datasetPrefix 
)
inlineprivatevirtual

Prepare Content of RDR metadata packet.

Subclass can override this method to add extensions in the Content.

◆ setDatasetPrefix()

void ndnph::rdr::RdrMetadataProducer::setDatasetPrefix ( Name  datasetPrefix)
inline

Set the dataset prefix.

Parameters
datasetPrefixthe dataset prefix to appear in RDR metadata packet.

The documentation for this class was generated from the following file: