From 706b30cb91b97e51b07e7db94a4239a7890a937b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Thu, 20 Apr 2017 14:22:32 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/pip@457 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- src_main/io/pipeer.cpp | 21 +++++++++++++++++++++ src_main/io/pipeer.h | 22 +--------------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src_main/io/pipeer.cpp b/src_main/io/pipeer.cpp index 232268b3..4bcf0e7f 100755 --- a/src_main/io/pipeer.cpp +++ b/src_main/io/pipeer.cpp @@ -19,6 +19,7 @@ #include "pipeer.h" #include "piconfig.h" +#include "pidatatransfer.h" #define _PIPEER_MSG_SIZE 4000 #define _PIPEER_MSG_TTL 100 @@ -33,6 +34,26 @@ #define _PIPEER_TRAFFIC_PORT_E 14000 #define _PIPEER_PING_TIMEOUT 5.0 +class PIPeer::PeerData: public PIObject { + PIOBJECT_SUBCLASS(PeerData, PIObject) +public: + PeerData(const PIString & n); + ~PeerData(); + EVENT_HANDLER1(void, dtSendRequestIn, PIByteArray &, data) {data.push_front(uchar(2)); sendRequest(name(), data);} + EVENT_HANDLER1(void, dtSendRequestOut, PIByteArray &, data) {data.push_front(uchar(3)); sendRequest(name(), data);} + EVENT_HANDLER1(void, dtReceiveFinishedIn, bool, ok) {if (ok) received(name(), dt_in.data());} + EVENT_HANDLER1(void, dtReceiveFinishedOut, bool, ok) {if (ok) received(name(), dt_out.data());} + EVENT_HANDLER(void, dtThread); + EVENT2(received, const PIString &, from, const PIByteArray &, data) + EVENT2(sendRequest, const PIString &, to, const PIByteArray &, data) + bool send(const PIByteArray & d); + void receivedPacket(uchar type, const PIByteArray & d); + void setDist(int dist); + PIByteArray data; + PIThread t; + PIDataTransfer dt_in, dt_out; +}; + PIPeer::PeerData::PeerData(const PIString & n): PIObject(n) { dt_in.setPacketSize(_PIPEER_MSG_SIZE); diff --git a/src_main/io/pipeer.h b/src_main/io/pipeer.h index 7fd75168..9486397b 100755 --- a/src_main/io/pipeer.h +++ b/src_main/io/pipeer.h @@ -25,32 +25,12 @@ #include "piethernet.h" #include "pidiagnostics.h" -#include "pidatatransfer.h" class PIP_EXPORT PIPeer: public PIIODevice { PIIODEVICE(PIPeer) private: - - class PeerData: public PIObject { - PIOBJECT_SUBCLASS(PeerData, PIObject) - public: - PeerData(const PIString & n); - ~PeerData(); - EVENT_HANDLER1(void, dtSendRequestIn, PIByteArray &, data) {data.push_front(uchar(2)); sendRequest(name(), data);} - EVENT_HANDLER1(void, dtSendRequestOut, PIByteArray &, data) {data.push_front(uchar(3)); sendRequest(name(), data);} - EVENT_HANDLER1(void, dtReceiveFinishedIn, bool, ok) {if (ok) received(name(), dt_in.data());} - EVENT_HANDLER1(void, dtReceiveFinishedOut, bool, ok) {if (ok) received(name(), dt_out.data());} - EVENT_HANDLER(void, dtThread); - EVENT2(received, const PIString &, from, const PIByteArray &, data) - EVENT2(sendRequest, const PIString &, to, const PIByteArray &, data) - bool send(const PIByteArray & d); - void receivedPacket(uchar type, const PIByteArray & d); - void setDist(int dist); - PIByteArray data; - PIThread t; - PIDataTransfer dt_in, dt_out; - }; + class PeerData; public: explicit PIPeer(const PIString & name = PIString());