Disabled reconnect after fingerprint failed #4527

This commit is contained in:
Xinyu Hou
2015-04-20 14:43:39 +01:00
parent 365d16c94b
commit e6e3eae0a9
6 changed files with 27 additions and 7 deletions

View File

@@ -60,7 +60,7 @@ Client::Client(
const String& name, const NetworkAddress& address,
ISocketFactory* socketFactory,
synergy::Screen* screen,
ClientArgs args) :
ClientArgs& args) :
m_mock(false),
m_name(name),
m_serverAddress(address),
@@ -470,6 +470,10 @@ Client::setupConnection()
m_stream->getEventTarget(),
new TMethodEventJob<Client>(this,
&Client::handleDisconnected));
m_events->adoptHandler(m_events->forISocket().stopRetry(),
m_stream->getEventTarget(),
new TMethodEventJob<Client>(this, &Client::handleStopRetry));
}
void
@@ -525,6 +529,8 @@ Client::cleanupConnection()
m_stream->getEventTarget());
m_events->removeHandler(m_events->forISocket().disconnected(),
m_stream->getEventTarget());
m_events->removeHandler(m_events->forISocket().stopRetry(),
m_stream->getEventTarget());
cleanupStream();
}
}
@@ -743,6 +749,11 @@ Client::onFileRecieveCompleted()
}
}
void
Client::handleStopRetry(const Event&, void*)
{
m_args.m_restartable = false;
}
void
Client::writeToDropDirThread(void*)

View File

@@ -60,7 +60,7 @@ public:
const String& name, const NetworkAddress& address,
ISocketFactory* socketFactory,
synergy::Screen* screen,
ClientArgs args);
ClientArgs& args);
~Client();
#ifdef TEST_ENV
@@ -196,6 +196,7 @@ private:
void handleResume(const Event& event, void*);
void handleFileChunkSending(const Event&, void*);
void handleFileRecieveCompleted(const Event&, void*);
void handleStopRetry(const Event&, void*);
void onFileRecieveCompleted();
public:
@@ -226,5 +227,5 @@ private:
Thread* m_writeToDropDirThread;
TCPSocket* m_socket;
bool m_useSecureNetwork;
ClientArgs m_args;
ClientArgs& m_args;
};