Inserted keep alive msg among data transfer #4584

This commit is contained in:
Jerry (Xinyu Hou)
2015-06-05 13:48:06 -07:00
parent bbf53bb9b8
commit 756c3b4463
3 changed files with 38 additions and 17 deletions

View File

@@ -29,6 +29,8 @@ public:
// IClient overrides
virtual void mouseWheel(SInt32 xDelta, SInt32 yDelta);
void handleKeepAlive(const Event&, void*);
protected:
// ClientProxy overrides
virtual bool parseMessage(const UInt8* code);
@@ -39,9 +41,6 @@ protected:
virtual void removeHeartbeatTimer();
virtual void keepAlive();
private:
void handleKeepAlive(const Event&, void*);
private:
double m_keepAliveRate;
EventQueueTimer* m_keepAliveTimer;

View File

@@ -22,6 +22,7 @@
#include "synergy/StreamChunker.h"
#include "synergy/ProtocolUtil.h"
#include "io/IStream.h"
#include "base/TMethodEventJob.h"
#include "base/Log.h"
#include <sstream>
@@ -34,10 +35,16 @@ ClientProxy1_5::ClientProxy1_5(const String& name, synergy::IStream* stream, Ser
ClientProxy1_4(name, stream, server, events),
m_events(events)
{
m_events->adoptHandler(m_events->forFile().keepAlive(),
this,
new TMethodEventJob<ClientProxy1_3>(this,
&ClientProxy1_3::handleKeepAlive, NULL));
}
ClientProxy1_5::~ClientProxy1_5()
{
m_events->removeHandler(m_events->forFile().keepAlive(), this);
}
void
@@ -81,7 +88,7 @@ ClientProxy1_5::fileChunkReceived()
if (result == kFinish) {
m_events->addEvent(Event(m_events->forIScreen().fileRecieveCompleted(), server));
m_events->addEvent(Event(m_events->forFile().fileRecieveCompleted(), server));
}
else if (result == kStart) {
String filename = server->getFakeDragFileList().at(0).getFilename();