22 #ifndef PROPHETROUTINGEXTENSION_H_
23 #define PROPHETROUTINGEXTENSION_H_
56 static const std::string TAG;
60 float p_first_threshold,
float beta,
float gamma,
float delta,
61 size_t time_unit,
size_t i_typ,
72 virtual
void raiseEvent(const dtn::core::Event *evt) throw ();
76 virtual
void eventTransferCompleted(const dtn::data::EID &peer, const dtn::data::MetaBundle &meta) throw ();
78 virtual
void eventBundleQueued(const dtn::data::EID &peer, const dtn::data::MetaBundle &meta) throw ();
99 virtual
void run() throw ();
118 ibrcommon::Mutex _next_exchange_mutex;
119 dtn::data::
Timestamp _next_exchange_timeout;
120 dtn::data::
Timestamp _next_exchange_timestamp;
125 float p_encounter(const dtn::data::EID &neighbor) const;
127 float _p_encounter_max;
128 float _p_encounter_first;
129 float _p_first_threshold;
133 typedef std::map<dtn::data::EID, dtn::data::
Timestamp> age_map;
140 virtual std::string toString()
const = 0;
143 class SearchNextBundleTask :
public Task
147 virtual ~SearchNextBundleTask();
149 virtual std::string toString()
const;
154 class NextExchangeTask :
public Task
158 virtual ~NextExchangeTask();
160 virtual std::string toString()
const;
195 unsigned int _NF_max;
197 typedef std::map<dtn::data::BundleID, unsigned int> nf_map;
204 #endif // PROPHETROUTINGEXTENSION_H_