#include "routing/Prophet.h"
#include "routing/ProphetNode.h"
#include <oasys/debug/Log.h>
#include <oasys/util/Time.h>
#include <oasys/thread/SpinLock.h>
#include "naming/EndpointID.h"
#include "bundling/BundleEvent.h"
#include "bundling/BundleActions.h"
#include <oasys/util/BoundedPriorityQueue.h>
#include <oasys/util/URL.h>
#include <vector>
#include <map>
#include <set>
Go to the source code of this file.
Namespaces | |
namespace | dtn |
Classes | |
struct | dtn::ProphetParams |
Common parameters shared between the one ProphetController and the many ProphetEncounters. More... | |
class | dtn::PointerList< T > |
Auto deletes pointers in list destructor This object assumes ownership for member pointers Creates copies of members instead of copies of pointers to members. More... | |
struct | dtn::less_eid_ |
Comparator for EndpointID sequencing. More... | |
class | dtn::ProphetTable |
Container for pvalues. More... | |
class | dtn::ProphetTableAgeTimer |
Scans the list of ProphetNodes and applies aging algorithm to the pvalues. More... | |
class | dtn::ProphetDictionary |
Utility class to facilitate translation to and from EndpointIDs and their 16-bit string IDs. More... | |
struct | dtn::BundleOfferComp |
struct | dtn::BundleOfferSIDComp |
class | dtn::BundleOfferList |
BundleOfferList represents a BundleOfferTLV as received from or sent to remote. More... | |
class | dtn::ProphetAckList |
Section 3.5 (p. More... | |
struct | dtn::ProphetAckList::less_ack_ |
class | dtn::ProphetAckAgeTimer |
Action to expire out aged ProphetAcks from ProphetAckList. More... | |
struct | dtn::ProphetStatsEntry |
class | dtn::ProphetStats |
class | dtn::FwdStrategy |
Forwarding strategy null comparator (GRTR, GTMX, GRTR_PLUS, GTMX_PLUS). More... | |
class | dtn::FwdStrategyCompGRTRSORT |
Forwarding strategy comparator for GRTR_SORT. More... | |
class | dtn::FwdStrategyCompGRTRMAX |
Forwarding strategy comparator for GRTR_MAX. More... | |
class | dtn::ProphetDecider |
Base class for Prophet forwarding strategy decision makers. More... | |
class | dtn::FwdDeciderGRTR |
Decision maker class on whether to forward a bundle. More... | |
class | dtn::FwdDeciderGTMX |
class | dtn::FwdDeciderGRTRPLUS |
class | dtn::FwdDeciderGTMXPLUS |
class | dtn::ProphetBundleOffer |
Helper class to enforce forwarding strategies, used to organize BundleOfferTLV. More... | |
struct | dtn::BundleSz |
Accessor pattern for pulling out Bundle size. More... | |
struct | dtn::QueueComp |
struct | dtn::QueueCompFIFO |
Queueing policy comparator for FIFO. More... | |
struct | dtn::QueueCompMOFO |
Queueing policy comparator for MOFO. More... | |
class | dtn::QueueCompMOPR |
Queueing policy comparator for MOPR. More... | |
class | dtn::QueueCompLMOPR |
Queueing policy comparator for LINEAR_MOPR. More... | |
struct | dtn::QueueCompSHLI |
Queueing policy comparator for SHLI. More... | |
struct | dtn::QueueCompLEPR |
struct | dtn::ProphetBundleList |
class | dtn::ProphetBundleQueue |
Helper class to enforce bundle queueing policies This frankenstein (with BundleList member AND priority_queue's Bundle* vector) is a temporary hack to increment Bundle references (BundleList) while enforcing Prophet's bundle queueing policy (priority_queue with bound). More... | |
Defines | |
#define | FOUR_BYTE_ALIGN(x) (((x) % 4) != 0) ? ((x) + (4 - ((x) % 4))) : (x) |
#define | NUM_FWD(b) (b)->fwdlog_.get_transmission_count(ForwardingInfo::COPY_ACTION) |
#define | MOPR(b) pstats_->get_mopr(b) |
#define | LMOPR(b) pstats_->get_lmopr(b) |
#define | SHLI(b) (b)->expiration_ |
#define | LEPR(b) nodes_->p_value(b) |
#define | seq_ BundleBPQ::PriorityQueue::c |
#define | comp_ BundleBPQ::PriorityQueue::comp |
Typedefs | |
typedef PointerList< ProphetNode > | dtn::ProphetNodeList |
#define comp_ BundleBPQ::PriorityQueue::comp |
Definition at line 1283 of file ProphetLists.h.
Referenced by dtn::ProphetBundleQueue::drop_bundle(), dtn::ProphetBundleQueue::enforce_bound(), and dtn::ProphetBundleQueue::set_comp().
#define FOUR_BYTE_ALIGN | ( | x | ) | (((x) % 4) != 0) ? ((x) + (4 - ((x) % 4))) : (x) |
Definition at line 35 of file ProphetLists.h.
#define LEPR | ( | b | ) | nodes_->p_value(b) |
#define LMOPR | ( | b | ) | pstats_->get_lmopr(b) |
#define MOPR | ( | b | ) | pstats_->get_mopr(b) |
#define NUM_FWD | ( | b | ) | (b)->fwdlog_.get_transmission_count(ForwardingInfo::COPY_ACTION) |
Definition at line 1134 of file ProphetLists.h.
Referenced by dtn::ProphetBundleQueue::enforce_bound(), and dtn::QueueCompMOFO::operator()().
#define seq_ BundleBPQ::PriorityQueue::c |
Definition at line 1282 of file ProphetLists.h.
Referenced by dtn::ProphetBundleQueue::drop_bundle(), dtn::ProphetBundleQueue::enforce_bound(), and dtn::ProphetBundleQueue::set_comp().
#define SHLI | ( | b | ) | (b)->expiration_ |