Arc::DataSpeed Class Reference

Keeps track of average and instantaneous transfer speed. More...

#include <DataSpeed.h>

Public Member Functions

 DataSpeed (time_t base=DATASPEED_AVERAGING_PERIOD)
 DataSpeed (unsigned long long int min_speed, time_t min_speed_time, unsigned long long int min_average_speed, time_t max_inactivity_time, time_t base=DATASPEED_AVERAGING_PERIOD)
 ~DataSpeed (void)
void verbose (bool val)
void verbose (const std::string &prefix)
bool verbose (void)
void set_min_speed (unsigned long long int min_speed, time_t min_speed_time)
void set_min_average_speed (unsigned long long int min_average_speed)
void set_max_inactivity_time (time_t max_inactivity_time)
time_t get_max_inactivity_time ()
void set_base (time_t base_=DATASPEED_AVERAGING_PERIOD)
void set_max_data (unsigned long long int max=0)
void set_progress_indicator (show_progress_t func=NULL)
void reset (void)
bool transfer (unsigned long long int n=0)
void hold (bool disable)
bool min_speed_failure ()
bool min_average_speed_failure ()
bool max_inactivity_time_failure ()
unsigned long long int transferred_size (void)

Detailed Description

Keeps track of average and instantaneous transfer speed.

Also detects data transfer inactivity and other transfer timeouts.


Constructor & Destructor Documentation

Arc::DataSpeed::DataSpeed ( time_t  base = DATASPEED_AVERAGING_PERIOD  ) 

Constructor

Parameters:
base time period used to average values (default 1 minute).
Arc::DataSpeed::DataSpeed ( unsigned long long int  min_speed,
time_t  min_speed_time,
unsigned long long int  min_average_speed,
time_t  max_inactivity_time,
time_t  base = DATASPEED_AVERAGING_PERIOD 
)

Constructor

Parameters:
base time period used to average values (default 1 minute).
min_speed minimal allowed speed (Butes per second). If speed drops and holds below threshold for min_speed_time_ seconds error is triggered.
min_speed_time 
min_average_speed_ minimal average speed (Bytes per second) to trigger error. Averaged over whole current transfer time.
max_inactivity_time - if no data is passing for specified amount of time (seconds), error is triggered.

Member Function Documentation

void Arc::DataSpeed::hold ( bool  disable  ) 

Turn off speed control.

Parameters:
disable true to turn off.
void Arc::DataSpeed::set_base ( time_t  base_ = DATASPEED_AVERAGING_PERIOD  ) 

Set averaging time period.

Parameters:
base time period used to average values (default 1 minute).
void Arc::DataSpeed::set_max_data ( unsigned long long int  max = 0  ) 

Set amount of data to be transferred. Used in verbose messages.

Parameters:
max amount of data in bytes.
void Arc::DataSpeed::set_max_inactivity_time ( time_t  max_inactivity_time  ) 

Set inactivity tiemout.

Parameters:
max_inactivity_time - if no data is passing for specified amount of time (seconds), error is triggered.
void Arc::DataSpeed::set_min_average_speed ( unsigned long long int  min_average_speed  ) 

Set minmal avaerage speed.

Parameters:
min_average_speed_ minimal average speed (Bytes per second) to trigger error. Averaged over whole current transfer time.
void Arc::DataSpeed::set_min_speed ( unsigned long long int  min_speed,
time_t  min_speed_time 
)

Set minimal allowed speed.

Parameters:
min_speed minimal allowed speed (Butes per second). If speed drops and holds below threshold for min_speed_time_ seconds error is triggered.
min_speed_time 
void Arc::DataSpeed::set_progress_indicator ( show_progress_t  func = NULL  ) 

Specify which external function will print verbose messages. If not specified internal one is used.

Parameters:
pointer to function which prints information.
bool Arc::DataSpeed::transfer ( unsigned long long int  n = 0  ) 

Inform object, about amount of data has been transferred. All errors are triggered by this method. To make them work application must call this method periodically even with zero value.

Parameters:
n amount of data transferred (bytes).
void Arc::DataSpeed::verbose ( const std::string &  prefix  ) 

Print information about current speed and amout of data.

Parameters:
'prefix' add this string at the beginning of every string.
void Arc::DataSpeed::verbose ( bool  val  ) 

Activate printing information about current time speeds, amount of transferred data.


The documentation for this class was generated from the following file:
Generated on Wed Jun 27 11:54:58 2012 for ARC Data Library libarcdata by  doxygen 1.6.3