nfd::rib::PropagatedEntry Class Reference

represents an entry for prefix propagation. More...

#include <rib/propagated-entry.hpp>

Public Member Functions

 PropagatedEntry ()
 
 PropagatedEntry (const PropagatedEntry &other)
 
void fail (const scheduler::EventId &event)
 switch the propagation status to PROPAGATE_FAIL, and then set the rePropagateEvent to event for retry. More...
 
const Name & getSigningIdentity () const
 get the signing identity More...
 
void initialize ()
 cancel the events of re-sending propagation commands. More...
 
bool isNew () const
 check whether this entry is a new entry. More...
 
bool isPropagated () const
 check whether this entry has been successfully propagated. More...
 
bool isPropagateFail () const
 check whether this entry has failed in propagating. More...
 
bool isPropagating () const
 check whether this entry is being propagated. More...
 
PropagatedEntryoperator= (const PropagatedEntry &other)=delete
 
PropagatedEntrysetSigningIdentity (const Name &identity)
 set the signing identity More...
 
void startPropagation ()
 switch the propagation status to PROPAGATING. More...
 
void succeed (const scheduler::EventId &event)
 switch the propagation status to PROPAGATED, and set the rePropagateEvent to event for refresh. More...
 

Detailed Description

represents an entry for prefix propagation.

See also
http://redmine.named-data.net/issues/3211

it consists of a PropagationStatus indicates current state of the state machine, as well as an event scheduled for refresh or retry (i.e., the RefreshTimer and the RetryTimer of the state machine respectively). Besides, it stores a copy of signing identity for this entry.

Definition at line 56 of file propagated-entry.hpp.

Constructor & Destructor Documentation

nfd::rib::PropagatedEntry::PropagatedEntry ( )

Definition at line 54 of file propagated-entry.cpp.

nfd::rib::PropagatedEntry::PropagatedEntry ( const PropagatedEntry other)
Precondition
other is not in PROPAGATED or PROPAGATE_FAIL state

Definition at line 59 of file propagated-entry.cpp.

Member Function Documentation

void nfd::rib::PropagatedEntry::fail ( const scheduler::EventId &  event)

switch the propagation status to PROPAGATE_FAIL, and then set the rePropagateEvent to event for retry.

this is called just after propagation for this entry fails.

Definition at line 93 of file propagated-entry.cpp.

const Name & nfd::rib::PropagatedEntry::getSigningIdentity ( ) const

get the signing identity

Returns
the signing identity

Definition at line 74 of file propagated-entry.cpp.

void nfd::rib::PropagatedEntry::initialize ( )

cancel the events of re-sending propagation commands.

switch the propagation status to NEW.

Definition at line 100 of file propagated-entry.cpp.

bool nfd::rib::PropagatedEntry::isNew ( ) const

check whether this entry is a new entry.

Returns
true if current status is NEW.

Definition at line 107 of file propagated-entry.cpp.

bool nfd::rib::PropagatedEntry::isPropagated ( ) const

check whether this entry has been successfully propagated.

Returns
true if current status is PROPAGATED.

Definition at line 119 of file propagated-entry.cpp.

bool nfd::rib::PropagatedEntry::isPropagateFail ( ) const

check whether this entry has failed in propagating.

Returns
true if current status is PROPAGATE_FAIL.

Definition at line 125 of file propagated-entry.cpp.

bool nfd::rib::PropagatedEntry::isPropagating ( ) const

check whether this entry is being propagated.

Returns
true if current status is PROPAGATING.

Definition at line 113 of file propagated-entry.cpp.

PropagatedEntry& nfd::rib::PropagatedEntry::operator= ( const PropagatedEntry other)
delete
PropagatedEntry & nfd::rib::PropagatedEntry::setSigningIdentity ( const Name &  identity)

set the signing identity

Definition at line 67 of file propagated-entry.cpp.

void nfd::rib::PropagatedEntry::startPropagation ( )

switch the propagation status to PROPAGATING.

this is called before start the propagation process of this entry.

Definition at line 80 of file propagated-entry.cpp.

void nfd::rib::PropagatedEntry::succeed ( const scheduler::EventId &  event)

switch the propagation status to PROPAGATED, and set the rePropagateEvent to event for refresh.

this is called just after this entry is successfully propagated.

Definition at line 86 of file propagated-entry.cpp.