add diag to basetransfer

fix pibinarylog delay

git-svn-id: svn://db.shs.com.ru/pip@63 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
2015-04-07 06:52:41 +00:00
parent 8b7752face
commit e16bd8f652
7 changed files with 151 additions and 14 deletions

View File

@@ -3,6 +3,7 @@
#include "picrc.h"
#include "pitimer.h"
#include "pidiagnostics.h"
class PIBaseTransfer: public PIObject
{
@@ -38,7 +39,7 @@ public:
void setPacketSize(int size) {packet_size = size;}
int packetSize() const {return packet_size;}
void setTimeout(double sec) {timeout_ = sec;}
void setTimeout(double sec) {timeout_ = sec; diag.setDisconnectTimeout(sec);}
double timeout() const {return timeout_;}
const PIString & stateString() const {return state_string;}
@@ -47,6 +48,7 @@ public:
const PIString * stateString_ptr() const {return &state_string;}
const llong * bytesAll_ptr() const {return &bytes_all;}
const llong * bytesCur_ptr() const {return &bytes_cur;}
const PIDiagnostics &diagnostic() {return diag;}
EVENT(receiveStarted)
EVENT1(receiveFinished, bool, ok)
@@ -89,7 +91,8 @@ private:
PITimeMeasurer send_tm;
PacketHeader header;
CRC_16 crc;
int replies_cnt, send_queue;
int replies_cnt, send_queue;
PIDiagnostics diag;
void processData(int id, PIByteArray &data);
PIByteArray build_packet(int id);