dtn::DTLSRConfig Class Reference

Class to encapsulate the DTLSR configuration. More...

#include <DTLSRConfig.h>

List of all members.

Public Types

enum  weight_fn_t { COST, DELAY, ESTIMATED_DELAY }
 

Configurable weight function types.

More...

Public Member Functions

 DTLSRConfig ()
 Constructor to initialize defaults.

Static Public Member Functions

static const char * weight_fn_to_str (weight_fn_t f)
 Stringified version of the weight function.

Public Attributes

std::string area_
 Administratively assigned area.
weight_fn_t weight_fn_
 Configurable weight function.
u_int weight_shift_
 Configurable scaling on link weight.
double uptime_factor_
 Factor by which to age the cost of a link based on its uptime.
bool keep_down_links_
 Whether or not to keep down links in the graph, marking them as stale.
u_int recompute_delay_
 Delay (in seconds) after receiving an LSA when we recompute the routes.
u_int aging_interval_
 Interval (in seconds) after which we locally recompute the routes to properly age links that we believe to be down.
u_int lsa_interval_
 Interval (in seconds) at which we proactively send new LSAa.
u_int min_lsa_interval_
 Minimum interval (in seconds) between LSA transmission.
u_int lsa_lifetime_
 Expiration time for lsa announcements (default is infinite).

Static Public Attributes

static oasys::EnumOpt::Case weight_opts_ []
 Options array for setting the weight function using an oasys option.

Detailed Description

Class to encapsulate the DTLSR configuration.

Definition at line 30 of file DTLSRConfig.h.


Member Enumeration Documentation

Configurable weight function types.

Enumerator:
COST 
DELAY 
ESTIMATED_DELAY 

Definition at line 45 of file DTLSRConfig.h.


Constructor & Destructor Documentation

dtn::DTLSRConfig::DTLSRConfig (  ) 

Constructor to initialize defaults.

Definition at line 30 of file DTLSRConfig.cc.


Member Function Documentation

const char * dtn::DTLSRConfig::weight_fn_to_str ( weight_fn_t  f  )  [static]

Stringified version of the weight function.

Definition at line 46 of file DTLSRConfig.cc.

References COST, DELAY, and ESTIMATED_DELAY.

Referenced by dtn::DTLSRRouter::initialize().


Member Data Documentation

Interval (in seconds) after which we locally recompute the routes to properly age links that we believe to be down.

Definition at line 96 of file DTLSRConfig.h.

Administratively assigned area.

Definition at line 40 of file DTLSRConfig.h.

Referenced by dtn::DTLSRRouter::handle_lsa().

Whether or not to keep down links in the graph, marking them as stale.

Definition at line 82 of file DTLSRConfig.h.

Interval (in seconds) at which we proactively send new LSAa.

Default is once per hour.

Definition at line 102 of file DTLSRConfig.h.

Expiration time for lsa announcements (default is infinite).

Definition at line 114 of file DTLSRConfig.h.

Minimum interval (in seconds) between LSA transmission.

Default is once per five seconds.

Definition at line 108 of file DTLSRConfig.h.

Referenced by dtn::DTLSRRouter::schedule_lsa().

Delay (in seconds) after receiving an LSA when we recompute the routes.

Needed to prevent some flapping.

XXX/demmer not used

Definition at line 90 of file DTLSRConfig.h.

Factor by which to age the cost of a link based on its uptime.

The default is 10.0, i.e. as a link's uptime goes to zero, the cost increases by 10x the original cost.

Definition at line 76 of file DTLSRConfig.h.

Configurable weight function.

Definition at line 64 of file DTLSRConfig.h.

Referenced by dtn::DTLSRRouter::initialize().

oasys::EnumOpt::Case dtn::DTLSRConfig::weight_opts_ [static]
Initial value:
{
    {"cost",            COST},
    {"delay",           DELAY},
    {"estimated_delay", ESTIMATED_DELAY},
    {"estdelay",        ESTIMATED_DELAY},
    {NULL,              0},
}

Options array for setting the weight function using an oasys option.

Definition at line 59 of file DTLSRConfig.h.

Configurable scaling on link weight.

Definition at line 69 of file DTLSRConfig.h.


The documentation for this class was generated from the following files:
Generated on Sun Nov 21 11:41:09 2010 for DTN Reference Implementation by  doxygen 1.6.3