git-svn-id: svn://db.shs.com.ru/pip@755 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2019-02-15 14:45:34 +00:00
parent e1d1853235
commit 0af7eabf56
10 changed files with 140 additions and 63 deletions

View File

@@ -36,7 +36,7 @@ public:
//! Constructs an empty diagnostics and if "start_" start it
PIDiagnostics(bool start_ = true);
virtual ~PIDiagnostics() {;}
virtual ~PIDiagnostics();
//! Connection quality
enum Quality {
@@ -77,6 +77,7 @@ public:
//! Returns period of full disconnect in seconds and period of averaging frequency
void setDisconnectTimeout(float s) {setProperty("disconnectTimeout", s);}
/*
//! Returns immediate receive frequency, packets/s
float immediateFrequency() const {return cur_state.immediate_freq;}
@@ -112,9 +113,10 @@ public:
//! Returns overall sended packets count
ullong sendCount() const {return cur_state.sended_packets;}
*/
//! Returns connection quality
PIDiagnostics::Quality quality() const {return cur_state.quality;}
PIDiagnostics::Quality quality() const;
//! Returns receive speed in format "n {B|kB|MB|GB|TB}/s"
PIString receiveSpeed() const;
@@ -122,7 +124,7 @@ public:
//! Returns send speed in format "n {B|kB|MB|GB|TB}/s"
PIString sendSpeed() const;
/* DEPRECATED
//! Returns immediate receive frequency pointer, packets/s. Useful for output to PIConsole
const float * immediateFrequency_ptr() const {return &cur_state.immediate_freq;}
@@ -166,9 +168,9 @@ public:
const PIString * receiveSpeed_ptr() const {return &cur_state.receive_speed;}
//! Returns send speed pointer in format "n {B|kB|MB|GB|TB}/s". Useful for output to PIConsole
const PIString * sendSpeed_ptr() const {return &cur_state.send_speed;}
const PIString * sendSpeed_ptr() const {return &cur_state.send_speed;}*/
EVENT_HANDLER0(void, start) {start(100.); changeDisconnectTimeout(disconn_);}
EVENT_HANDLER0(void, start) {PITimer::start(100.); changeDisconnectTimeout(disconn_);}
EVENT_HANDLER1(void, start, double, msecs) {if (msecs > 0.) {PITimer::start(msecs); changeDisconnectTimeout(disconn_);}}
EVENT_HANDLER0(void, stop) {PITimer::stop();}
EVENT_HANDLER0(void, reset);
@@ -220,12 +222,13 @@ private:
Entry calcHistory(PIQueue<Entry> & hist, int & cnt);
void propertyChanged(const PIString &);
void changeDisconnectTimeout(float disct);
void constLock() const;
void constUnlock() const;
// void constLock() const;
// void constUnlock() const;
PIQueue<Entry> history_rec, history_send;
float disconn_;
State cur_state;
mutable PIMutex mutex_state;
};