IBR-DTNSuite
0.12
|
Set of Acknowledgements, that can be serialized in node handshakes. More...
#include <AcknowledgementSet.h>
Public Types | |
typedef dtn::data::BundleList::const_iterator | const_iterator |
Public Types inherited from dtn::routing::NodeHandshakeItem | |
enum | IDENTIFIER { REQUEST_COMPRESSED_ANSWER = 0xff, BLOOM_FILTER_SUMMARY_VECTOR = 1, BLOOM_FILTER_PURGE_VECTOR = 2, DELIVERY_PREDICTABILITY_MAP = 3, PROPHET_ACKNOWLEDGEMENT_SET = 4 } |
Public Types inherited from ibrcommon::Mutex | |
enum | MUTEX_TYPE { MUTEX_NORMAL = PTHREAD_MUTEX_NORMAL, MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE, MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK } |
Public Member Functions | |
AcknowledgementSet () | |
AcknowledgementSet (const AcknowledgementSet &) | |
void | add (const dtn::data::MetaBundle &bundle) throw () |
void | expire (const dtn::data::Timestamp ×tamp) throw () |
void | merge (const AcknowledgementSet &) throw () |
bool | has (const dtn::data::BundleID &id) const throw () |
virtual const dtn::data::Number & | getIdentifier () const |
virtual dtn::data::Length | getLength () const |
virtual std::ostream & | serialize (std::ostream &stream) const |
virtual std::istream & | deserialize (std::istream &stream) |
const_iterator | begin () const |
const_iterator | end () const |
Public Member Functions inherited from dtn::routing::NodeHandshakeItem | |
virtual | ~NodeHandshakeItem () |
Public Member Functions inherited from ibrcommon::Mutex | |
Mutex (MUTEX_TYPE type=MUTEX_NORMAL) | |
virtual | ~Mutex () |
virtual void | trylock () throw (MutexException) |
virtual void | enter () throw (MutexException) |
virtual void | leave () throw (MutexException) |
Public Member Functions inherited from ibrcommon::MutexInterface | |
virtual | ~MutexInterface ()=0 |
Static Public Attributes | |
static const dtn::data::Number | identifier = NodeHandshakeItem::PROPHET_ACKNOWLEDGEMENT_SET |
Friends | |
std::ostream & | operator<< (std::ostream &, const AcknowledgementSet &) |
std::istream & | operator>> (std::istream &, AcknowledgementSet &) |
Additional Inherited Members | |
Static Public Member Functions inherited from ibrcommon::Mutex | |
static MutexInterface & | dummy () |
Protected Attributes inherited from ibrcommon::Mutex | |
pthread_mutex_t | m_mutex |
pthread_mutexattr_t | m_attr |
Set of Acknowledgements, that can be serialized in node handshakes.
Definition at line 24 of file AcknowledgementSet.h.
Definition at line 60 of file AcknowledgementSet.h.
dtn::routing::AcknowledgementSet::AcknowledgementSet | ( | ) |
Definition at line 18 of file AcknowledgementSet.cpp.
dtn::routing::AcknowledgementSet::AcknowledgementSet | ( | const AcknowledgementSet & | other) |
Definition at line 22 of file AcknowledgementSet.cpp.
void dtn::routing::AcknowledgementSet::add | ( | const dtn::data::MetaBundle & | bundle) | ||
throw | ( | ||||
) |
Add a bundle to the set
Definition at line 27 of file AcknowledgementSet.cpp.
References dtn::core::BundleCore::getInstance(), and dtn::core::BundleCore::validate().
Referenced by dtn::routing::operator>>().
|
inline |
Definition at line 61 of file AcknowledgementSet.h.
References dtn::data::BundleList::begin().
Referenced by dtn::routing::ProphetRoutingExtension::processHandshake().
|
virtual |
Implements dtn::routing::NodeHandshakeItem.
Definition at line 78 of file AcknowledgementSet.cpp.
|
inline |
Definition at line 62 of file AcknowledgementSet.h.
References dtn::data::BundleList::end().
Referenced by dtn::routing::ProphetRoutingExtension::processHandshake().
void dtn::routing::AcknowledgementSet::expire | ( | const dtn::data::Timestamp & | timestamp) | ||
throw | ( | ||||
) |
Expire outdated entries
Definition at line 40 of file AcknowledgementSet.cpp.
|
virtual |
Implements dtn::routing::NodeHandshakeItem.
Definition at line 60 of file AcknowledgementSet.cpp.
References identifier.
|
virtual |
Implements dtn::routing::NodeHandshakeItem.
Definition at line 65 of file AcknowledgementSet.cpp.
References serialize().
bool dtn::routing::AcknowledgementSet::has | ( | const dtn::data::BundleID & | id) | const | |
throw | ( | ||||
) |
Returns true if the given bundleId is in the bundle list
Definition at line 54 of file AcknowledgementSet.cpp.
References dtn::data::MetaBundle::create().
void dtn::routing::AcknowledgementSet::merge | ( | const AcknowledgementSet & | other) | ||
throw | ( | ||||
) |
merge the set with a second AcknowledgementSet
Definition at line 45 of file AcknowledgementSet.cpp.
Referenced by dtn::routing::ProphetRoutingExtension::processHandshake().
|
virtual |
Implements dtn::routing::NodeHandshakeItem.
Definition at line 72 of file AcknowledgementSet.cpp.
Referenced by getLength().
|
friend |
Definition at line 84 of file AcknowledgementSet.cpp.
|
friend |
Definition at line 99 of file AcknowledgementSet.cpp.
|
static |
Definition at line 55 of file AcknowledgementSet.h.
Referenced by getIdentifier(), dtn::routing::ProphetRoutingExtension::requestHandshake(), and dtn::routing::ProphetRoutingExtension::responseHandshake().