dtn::Prophet Class Reference

#include <Prophet.h>

List of all members.


Detailed Description

Definition at line 8 of file Prophet.h.

Public Types

enum  fwd_strategy_t {
  GRTR, GTMX, GRTR_PLUS, GTMX_PLUS,
  GRTR_SORT, GRTR_MAX
}
enum  q_strategy_t {
  FIFO, MOFO, MOPR, LINEAR_MOPR,
  SHLI, LEPR
}
enum  header_result_t {
  NoSuccessAck = 0x1, AckAll = 0x2, Success = 0x3, Failure = 0x4,
  ReturnReceipt = 0x5
}
enum  hello_hf_t { SYN = 0x1, SYNACK = 0x2, ACK = 0x3, RSTACK = 0x4 }
enum  rib_header_flag_t { RELAY_NODE = 1 << 0, CUSTODY_NODE = 1 << 1, INTERNET_GW_NODE = 1 << 2 }
enum  rib_entry_flag_t { RELAY_NODE = 1 << 0, CUSTODY_NODE = 1 << 1, INTERNET_GW_NODE = 1 << 2 }
enum  bundle_offer_flags_t { CUSTODY_OFFERED = 1 << 0, PROPHET_ACK = 1 << 7 }
enum  bundle_response_flags_t { CUSTODY_ACCEPTED = 1 << 0, BUNDLE_ACCEPTED = 1 << 1 }

Public Member Functions

 Prophet ()
double delivery_predictability (double previous)
 previous represents P_(A,B)_old return value is P_(A,B)
double age (double previous, u_int time_units)
 previous represents P_(A,B)_old return value is P_(A,B)
double transitivity (double previous, double ab, double bc)
 previous represents P_(A,B)_old return value is P_(A,B)
double favorability (double previous, double prob)
 previous represents FAV_old prob represents P_(A,B) return value is FAV_new
double encounter ()
double beta ()
double gamma ()
fwd_strategy_t fwd_strategy ()
q_strategy_t q_strategy ()
bool encounter (double d)
bool beta (double d)
bool gamma (double d)
void fwd_strategy (fwd_strategy_t f)
void q_strategy (q_strategy_t q)

Public Attributes

dtn::Prophet::ProphetHeader packed
dtn::Prophet::HelloTLVHeader packed
dtn::Prophet::ErrorTLVHeader packed
dtn::Prophet::RIBDTLVHeader packed
dtn::Prophet::RoutingAddressString packed
dtn::Prophet::RIBTLVHeader packed
dtn::Prophet::RIBEntry packed
dtn::Prophet::BundleOfferResponseHeader packed
dtn::Prophet::BundleOfferResponseEntry packed

Static Public Attributes

static const double DEFAULT_P_ENCOUNTER = 0.75
static const double DEFAULT_PROPHET_BETA = 0.25
static const double DEFAULT_PROPHET_GAMMA = 0.25
static const u_int8_t PROPHET_VERSION = 0x01
 Current version of the protocol.

Protected Attributes

double encounter_
double beta_
double gamma_
fwd_strategy_t f_strategy_
q_strategy_t q_strategy_

Classes

struct  BundleOfferResponseEntry
struct  BundleOfferResponseHeader
struct  ErrorTLVHeader
struct  HelloTLVHeader
struct  ProphetHeader
struct  RIBDTLVHeader
struct  RIBEntry
struct  RIBTLVHeader
struct  RoutingAddressString


Member Enumeration Documentation

enum dtn::Prophet::fwd_strategy_t

Enumerator:
GRTR 
GTMX 
GRTR_PLUS 
GTMX_PLUS 
GRTR_SORT 
GRTR_MAX 

Definition at line 78 of file Prophet.h.

enum dtn::Prophet::q_strategy_t

Enumerator:
FIFO 
MOFO 
MOPR 
LINEAR_MOPR 
SHLI 
LEPR 

Definition at line 89 of file Prophet.h.

enum dtn::Prophet::header_result_t

Enumerator:
NoSuccessAck 
AckAll 
Success 
Failure 
ReturnReceipt 

Definition at line 119 of file Prophet.h.

enum dtn::Prophet::hello_hf_t

Enumerator:
SYN 
SYNACK 
ACK 
RSTACK 

Definition at line 141 of file Prophet.h.

enum dtn::Prophet::rib_header_flag_t

Enumerator:
RELAY_NODE 
CUSTODY_NODE 
INTERNET_GW_NODE 

Definition at line 187 of file Prophet.h.

enum dtn::Prophet::rib_entry_flag_t

Enumerator:
RELAY_NODE 
CUSTODY_NODE 
INTERNET_GW_NODE 

Definition at line 203 of file Prophet.h.

enum dtn::Prophet::bundle_offer_flags_t

Enumerator:
CUSTODY_OFFERED 
PROPHET_ACK 

Definition at line 230 of file Prophet.h.

enum dtn::Prophet::bundle_response_flags_t

Enumerator:
CUSTODY_ACCEPTED 
BUNDLE_ACCEPTED 

Definition at line 237 of file Prophet.h.


Constructor & Destructor Documentation

dtn::Prophet::Prophet (  )  [inline]

Definition at line 22 of file Prophet.h.


Member Function Documentation

double dtn::Prophet::delivery_predictability ( double  previous  )  [inline]

previous represents P_(A,B)_old return value is P_(A,B)

Definition at line 36 of file Prophet.h.

References ASSERT, and encounter_.

double dtn::Prophet::age ( double  previous,
u_int  time_units 
) [inline]

previous represents P_(A,B)_old return value is P_(A,B)

Definition at line 46 of file Prophet.h.

References ASSERT, and gamma_.

double dtn::Prophet::transitivity ( double  previous,
double  ab,
double  bc 
) [inline]

previous represents P_(A,B)_old return value is P_(A,B)

Definition at line 57 of file Prophet.h.

References ASSERT, and beta_.

double dtn::Prophet::favorability ( double  previous,
double  prob 
) [inline]

previous represents FAV_old prob represents P_(A,B) return value is FAV_new

Definition at line 70 of file Prophet.h.

References ASSERT.

double dtn::Prophet::encounter (  )  [inline]

Definition at line 243 of file Prophet.h.

References encounter_.

double dtn::Prophet::beta (  )  [inline]

Definition at line 244 of file Prophet.h.

References beta_.

double dtn::Prophet::gamma (  )  [inline]

Definition at line 245 of file Prophet.h.

References gamma_.

fwd_strategy_t dtn::Prophet::fwd_strategy (  )  [inline]

Definition at line 246 of file Prophet.h.

References f_strategy_.

q_strategy_t dtn::Prophet::q_strategy (  )  [inline]

Definition at line 247 of file Prophet.h.

References q_strategy_.

bool dtn::Prophet::encounter ( double  d  )  [inline]

Definition at line 250 of file Prophet.h.

References encounter_.

bool dtn::Prophet::beta ( double  d  )  [inline]

Definition at line 257 of file Prophet.h.

References beta_.

bool dtn::Prophet::gamma ( double  d  )  [inline]

Definition at line 264 of file Prophet.h.

References gamma_.

void dtn::Prophet::fwd_strategy ( fwd_strategy_t  f  )  [inline]

Definition at line 271 of file Prophet.h.

References f_strategy_.

void dtn::Prophet::q_strategy ( q_strategy_t  q  )  [inline]

Definition at line 272 of file Prophet.h.

References q_strategy_.


Member Data Documentation

const double dtn::Prophet::DEFAULT_P_ENCOUNTER = 0.75 [static]

Definition at line 12 of file Prophet.h.

const double dtn::Prophet::DEFAULT_PROPHET_BETA = 0.25 [static]

Definition at line 13 of file Prophet.h.

const double dtn::Prophet::DEFAULT_PROPHET_GAMMA = 0.25 [static]

Definition at line 14 of file Prophet.h.

const u_int8_t dtn::Prophet::PROPHET_VERSION = 0x01 [static]

Current version of the protocol.

Definition at line 19 of file Prophet.h.

struct dtn::Prophet::ProphetHeader dtn::Prophet::packed

struct dtn::Prophet::HelloTLVHeader dtn::Prophet::packed

struct dtn::Prophet::ErrorTLVHeader dtn::Prophet::packed

struct dtn::Prophet::RIBDTLVHeader dtn::Prophet::packed

struct dtn::Prophet::RoutingAddressString dtn::Prophet::packed

struct dtn::Prophet::RIBTLVHeader dtn::Prophet::packed

struct dtn::Prophet::RIBEntry dtn::Prophet::packed

struct dtn::Prophet::BundleOfferResponseHeader dtn::Prophet::packed

struct dtn::Prophet::BundleOfferResponseEntry dtn::Prophet::packed

double dtn::Prophet::encounter_ [protected]

Definition at line 274 of file Prophet.h.

Referenced by delivery_predictability(), and encounter().

double dtn::Prophet::beta_ [protected]

Definition at line 275 of file Prophet.h.

Referenced by beta(), and transitivity().

double dtn::Prophet::gamma_ [protected]

Definition at line 276 of file Prophet.h.

Referenced by age(), and gamma().

fwd_strategy_t dtn::Prophet::f_strategy_ [protected]

Definition at line 277 of file Prophet.h.

Referenced by fwd_strategy().

q_strategy_t dtn::Prophet::q_strategy_ [protected]

Definition at line 278 of file Prophet.h.

Referenced by q_strategy().


The documentation for this class was generated from the following file:
Generated on Fri Dec 22 14:48:05 2006 for DTN Reference Implementation by  doxygen 1.5.1