+        const USER & operator=(const USER & rvalue);
+
+        bool InitNetwork();
+
+        const std::string & GetLogin() const { return login; }
+        uint32_t GetIP() const { return ip; }
+        uint32_t GetAliveTimeout() const { return aliveTimeout; }
+        uint32_t GetUserTimeout() const { return userTimeout; }
+        int GetPhase() const { return phase; }
+        uint32_t GetRnd() const { return rnd; }
+        int GetSocket() const { return sock; }
+        time_t GetPhaseChangeTime() const { return phaseChangeTime; }
+
+        BLOWFISH_CTX * GetCtx() { return &ctx; }
+
+        void SetPhase(int p) { phase = p; time(&phaseChangeTime); }
+        void SetRnd(uint32_t r) { rnd = r; }
+        uint32_t IncRnd() { return ++rnd; }
+        void SetAliveTimeout(uint32_t timeout) { aliveTimeout = timeout; }
+        void SetUserTimeout(uint32_t timeout) { userTimeout = timeout; }