Simplify AuthKeyHandshake constructor.
This commit is contained in:
parent
3109848164
commit
061ca24be9
@ -46,6 +46,10 @@ static Result<typename T::ReturnType> fetch_result(Slice message, bool check_end
|
|||||||
return std::move(result);
|
return std::move(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AuthKeyHandshake::AuthKeyHandshake(int32 dc_id, int32 expires_in)
|
||||||
|
: mode_(expires_in == 0 ? Mode::Main : Mode::Temp), dc_id_(dc_id), expires_in_(expires_in) {
|
||||||
|
}
|
||||||
|
|
||||||
void AuthKeyHandshake::clear() {
|
void AuthKeyHandshake::clear() {
|
||||||
last_query_ = BufferSlice();
|
last_query_ = BufferSlice();
|
||||||
state_ = Start;
|
state_ = Start;
|
||||||
@ -100,7 +104,6 @@ Status AuthKeyHandshake::on_res_pq(Slice message, Callback *connection, PublicRs
|
|||||||
dc_id_, expires_in_));
|
dc_id_, expires_in_));
|
||||||
expires_at_ = Time::now() + expires_in_;
|
expires_at_ = Time::now() + expires_in_;
|
||||||
break;
|
break;
|
||||||
case Mode::Unknown:
|
|
||||||
default:
|
default:
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,6 @@ class AuthKeyHandshakeContext {
|
|||||||
};
|
};
|
||||||
|
|
||||||
class AuthKeyHandshake {
|
class AuthKeyHandshake {
|
||||||
enum class Mode { Unknown, Main, Temp };
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
class Callback {
|
class Callback {
|
||||||
public:
|
public:
|
||||||
@ -45,15 +43,7 @@ class AuthKeyHandshake {
|
|||||||
virtual void send_no_crypto(const Storer &storer) = 0;
|
virtual void send_no_crypto(const Storer &storer) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
AuthKeyHandshake(int32 dc_id, int32 expires_in) {
|
AuthKeyHandshake(int32 dc_id, int32 expires_in);
|
||||||
dc_id_ = dc_id;
|
|
||||||
if (expires_in == 0) {
|
|
||||||
mode_ = Mode::Main;
|
|
||||||
} else {
|
|
||||||
mode_ = Mode::Temp;
|
|
||||||
expires_in_ = expires_in;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool is_ready_for_finish() const;
|
bool is_ready_for_finish() const;
|
||||||
|
|
||||||
@ -82,9 +72,10 @@ class AuthKeyHandshake {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
using State = enum { Start, ResPQ, ServerDHParams, DHGenResponse, Finish };
|
enum State : int32 { Start, ResPQ, ServerDHParams, DHGenResponse, Finish };
|
||||||
State state_ = Start;
|
State state_ = Start;
|
||||||
Mode mode_ = Mode::Unknown;
|
enum class Mode : int32 { Main, Temp };
|
||||||
|
Mode mode_ = Mode::Main;
|
||||||
int32 dc_id_ = 0;
|
int32 dc_id_ = 0;
|
||||||
int32 expires_in_ = 0;
|
int32 expires_in_ = 0;
|
||||||
double expires_at_ = 0;
|
double expires_at_ = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user