Hybrid ICN (hICN) plugin  v21.06-rc0-4-g18fa668
Public Types | Public Member Functions | Protected Attributes | List of all members
transport::protocol::ManifestIncrementalIndexer Class Reference
Inheritance diagram for transport::protocol::ManifestIncrementalIndexer:
Inheritance graph
[legend]
Collaboration diagram for transport::protocol::ManifestIncrementalIndexer:
Collaboration graph
[legend]

Public Types

using SuffixQueue = std::queue< uint32_t >
 
using InterestContentPair = std::tuple< core::Interest::Ptr, core::ContentObject::Ptr, bool >
 

Public Member Functions

 ManifestIncrementalIndexer (implementation::ConsumerSocket *icn_socket, TransportProtocol *transport)
 
 ManifestIncrementalIndexer (IncrementalIndexer &&indexer)
 
void reset () override
 
void onContentObject (core::Interest &interest, core::ContentObject &content_object, bool reassembly) override
 
uint32_t checkNextSuffix () override
 
uint32_t getNextSuffix () override
 
uint32_t getNextReassemblySegment () override
 
bool isFinalSuffixDiscovered () override
 
uint32_t getFinalSuffix () override
 
- Public Member Functions inherited from transport::protocol::IncrementalIndexer
 IncrementalIndexer (implementation::ConsumerSocket *icn_socket, TransportProtocol *transport)
 
 IncrementalIndexer (const IncrementalIndexer &other)=delete
 
 IncrementalIndexer (IncrementalIndexer &&other)
 
virtual void setFirstSuffix (uint32_t suffix) override
 
uint32_t getFirstSuffix () override
 
virtual uint32_t jumpToIndex (uint32_t index) override
 
void enableFec (fec::FECType fec_type) override
 
void disableFec () override
 
void setNFec (uint32_t n_fec) override
 
virtual uint32_t getNFec () override
 
- Public Member Functions inherited from transport::protocol::Indexer
 Indexer (implementation::ConsumerSocket *socket, TransportProtocol *transport)
 
virtual bool isFec (uint32_t index)
 
virtual double getFecOverhead ()
 
virtual double getMaxFecOverhead ()
 
virtual void setReassembly (Reassembly *reassembly)
 
virtual void setVerifier ()
 

Protected Attributes

std::unique_ptr< utils::SuffixStrategysuffix_strategy_
 
SuffixQueue suffix_queue_
 
auth::Verifier::SuffixMap suffix_map_
 
std::unordered_map< auth::Suffix, InterestContentPair > unverified_segments_
 
- Protected Attributes inherited from transport::protocol::IncrementalIndexer
uint32_t final_suffix_
 
uint32_t first_suffix_
 
uint32_t next_download_suffix_
 
uint32_t next_reassembly_suffix_
 
- Protected Attributes inherited from transport::protocol::Indexer
implementation::ConsumerSocketsocket_
 
TransportProtocoltransport_
 
Reassemblyreassembly_
 
std::shared_ptr< auth::Verifierverifier_
 

Additional Inherited Members

- Static Public Attributes inherited from transport::protocol::Indexer
static const constexpr uint32_t invalid_index
 

Member Function Documentation

◆ checkNextSuffix()

uint32_t transport::protocol::ManifestIncrementalIndexer::checkNextSuffix ( )
overridevirtual

Suffix getters

Reimplemented from transport::protocol::IncrementalIndexer.

◆ getNextReassemblySegment()

uint32_t transport::protocol::ManifestIncrementalIndexer::getNextReassemblySegment ( )
overridevirtual

Retrive the next segment to be reassembled.

Reimplemented from transport::protocol::IncrementalIndexer.

◆ isFinalSuffixDiscovered()

bool transport::protocol::ManifestIncrementalIndexer::isFinalSuffixDiscovered ( )
overridevirtual

Final suffix helpers.

Reimplemented from transport::protocol::IncrementalIndexer.

◆ onContentObject()

void transport::protocol::ManifestIncrementalIndexer::onContentObject ( core::Interest interest,
core::ContentObject content_object,
bool  reassembly 
)
overridevirtual

Process incoming content objects.

Reimplemented from transport::protocol::IncrementalIndexer.

◆ reset()

void transport::protocol::ManifestIncrementalIndexer::reset ( )
overridevirtual

Reset the indexer.

Reimplemented from transport::protocol::IncrementalIndexer.


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