------------------------------------------------------------ revno: 3393 committer: poy <p...@123gen.com> branch nick: trunk timestamp: Tue 2014-01-21 23:52:40 +0100 message: Make Client::state atomic modified: dcpp/Client.cpp dcpp/Client.h
-- lp:dcplusplus https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk Your team Dcplusplus-team is subscribed to branch lp:dcplusplus. To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/Client.cpp' --- dcpp/Client.cpp 2013-07-31 21:46:23 +0000 +++ dcpp/Client.cpp 2014-01-21 22:52:40 +0000 @@ -192,6 +192,11 @@ sock->disconnect(graceLess); } +bool Client::isConnected() const { + State s = state; + return s != STATE_CONNECTING && s != STATE_DISCONNECTED; +} + bool Client::isSecure() const { return isConnected() && sock->isSecure(); } === modified file 'dcpp/Client.h' --- dcpp/Client.h 2013-11-17 16:15:01 +0000 +++ dcpp/Client.h 2014-01-21 22:52:40 +0000 @@ -64,7 +64,7 @@ virtual void emulateCommand(const string& cmd) = 0; virtual void send(const AdcCommand& command) = 0; - bool isConnected() const { return state != STATE_CONNECTING && state != STATE_DISCONNECTED; } + bool isConnected() const; bool isSecure() const; bool isTrusted() const; std::string getCipherName() const; @@ -132,14 +132,15 @@ static atomic<long> counts[COUNT_UNCOUNTED]; - enum States { + enum State { STATE_CONNECTING, ///< Waiting for socket to connect STATE_PROTOCOL, ///< Protocol setup STATE_IDENTIFY, ///< Nick setup STATE_VERIFY, ///< Checking password STATE_NORMAL, ///< Running STATE_DISCONNECTED, ///< Nothing in particular - } state; + }; + atomic<State> state; BufferedSocket *sock;
_______________________________________________ Mailing list: https://launchpad.net/~linuxdcpp-team Post to : linuxdcpp-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~linuxdcpp-team More help : https://help.launchpad.net/ListHelp