git-svn-id: svn://db.shs.com.ru/pip@457 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user