Better field names,

GitOrigin-RevId: 93d307c55f9801d78fa68413cbbf238925a351b1
This commit is contained in:
levlam 2020-01-08 01:27:12 +03:00
parent eecb70d006
commit 63f167ac35
2 changed files with 24 additions and 22 deletions

View File

@ -241,10 +241,10 @@ void Session::send(NetQueryPtr &&query) {
} }
void Session::on_bind_result(NetQueryPtr query) { void Session::on_bind_result(NetQueryPtr query) {
LOG(INFO) << "ANSWER TO BindKey" << query; LOG(INFO) << "Receive answer to BindKey: " << query;
Status status; Status status;
tmp_auth_key_id_ = 0; being_binded_tmp_auth_key_id_ = 0;
last_bind_id_ = 0; last_bind_query_id_ = 0;
if (query->is_error()) { if (query->is_error()) {
status = std::move(query->error()); status = std::move(query->error());
if (status.code() == 400 && status.message() == "ENCRYPTED_MESSAGE_INVALID") { if (status.code() == 400 && status.message() == "ENCRYPTED_MESSAGE_INVALID") {
@ -291,10 +291,10 @@ void Session::on_bind_result(NetQueryPtr query) {
} }
void Session::on_check_key_result(NetQueryPtr query) { void Session::on_check_key_result(NetQueryPtr query) {
LOG(INFO) << "ANSWER TO GetNearestDc" << query; LOG(INFO) << "Receive answer to GetNearestDc: " << query;
Status status; Status status;
auth_key_id_ = 0; being_checked_main_auth_key_id_ = 0;
last_check_id_ = 0; last_check_query_id_ = 0;
if (query->is_error()) { if (query->is_error()) {
status = std::move(query->error()); status = std::move(query->error());
} else { } else {
@ -319,10 +319,10 @@ void Session::on_check_key_result(NetQueryPtr query) {
void Session::on_result(NetQueryPtr query) { void Session::on_result(NetQueryPtr query) {
CHECK(UniqueId::extract_type(query->id()) == UniqueId::BindKey); CHECK(UniqueId::extract_type(query->id()) == UniqueId::BindKey);
if (last_bind_id_ == query->id()) { if (last_bind_query_id_ == query->id()) {
return on_bind_result(std::move(query)); return on_bind_result(std::move(query));
} }
if (last_check_id_ == query->id()) { if (last_check_query_id_ == query->id()) {
return on_check_key_result(std::move(query)); return on_check_key_result(std::move(query));
} }
query->clear(); query->clear();
@ -1084,7 +1084,7 @@ void Session::connection_close(ConnectionInfo *info) {
CHECK(info->state == ConnectionInfo::State::Empty); CHECK(info->state == ConnectionInfo::State::Empty);
} }
bool Session::need_send_check_main_key() const { bool Session::need_send_check_main_key() const {
return need_check_main_key_ && auth_data_.get_main_auth_key().id() != auth_key_id_; return need_check_main_key_ && auth_data_.get_main_auth_key().id() != being_checked_main_auth_key_id_;
} }
bool Session::connection_send_check_main_key(ConnectionInfo *info) { bool Session::connection_send_check_main_key(ConnectionInfo *info) {
@ -1092,14 +1092,15 @@ bool Session::connection_send_check_main_key(ConnectionInfo *info) {
return false; return false;
} }
uint64 key_id = auth_data_.get_main_auth_key().id(); uint64 key_id = auth_data_.get_main_auth_key().id();
if (key_id == auth_key_id_) { if (key_id == being_checked_main_auth_key_id_) {
return false; return false;
} }
CHECK(info->state != ConnectionInfo::State::Empty); CHECK(info->state != ConnectionInfo::State::Empty);
LOG(INFO) << "Check main key"; LOG(INFO) << "Check main key";
auth_key_id_ = key_id; being_checked_main_auth_key_id_ = key_id;
last_check_id_ = UniqueId::next(UniqueId::BindKey); last_check_query_id_ = UniqueId::next(UniqueId::BindKey);
NetQueryPtr query = G()->net_query_creator().create(last_check_id_, create_storer(telegram_api::help_getNearestDc())); NetQueryPtr query =
G()->net_query_creator().create(last_check_query_id_, create_storer(telegram_api::help_getNearestDc()));
query->dispatch_ttl = 0; query->dispatch_ttl = 0;
query->set_callback(actor_shared(this)); query->set_callback(actor_shared(this));
connection_send_query(info, std::move(query)); connection_send_query(info, std::move(query));
@ -1108,7 +1109,8 @@ bool Session::connection_send_check_main_key(ConnectionInfo *info) {
} }
bool Session::need_send_bind_key() const { bool Session::need_send_bind_key() const {
return auth_data_.use_pfs() && !auth_data_.get_bind_flag() && auth_data_.get_tmp_auth_key().id() != tmp_auth_key_id_; return auth_data_.use_pfs() && !auth_data_.get_bind_flag() &&
auth_data_.get_tmp_auth_key().id() != being_binded_tmp_auth_key_id_;
} }
bool Session::need_send_query() const { bool Session::need_send_query() const {
return !close_flag_ && !need_check_main_key_ && (!auth_data_.use_pfs() || auth_data_.get_bind_flag()) && return !close_flag_ && !need_check_main_key_ && (!auth_data_.use_pfs() || auth_data_.get_bind_flag()) &&
@ -1118,11 +1120,11 @@ bool Session::need_send_query() const {
bool Session::connection_send_bind_key(ConnectionInfo *info) { bool Session::connection_send_bind_key(ConnectionInfo *info) {
CHECK(info->state != ConnectionInfo::State::Empty); CHECK(info->state != ConnectionInfo::State::Empty);
uint64 key_id = auth_data_.get_tmp_auth_key().id(); uint64 key_id = auth_data_.get_tmp_auth_key().id();
if (key_id == tmp_auth_key_id_) { if (key_id == being_binded_tmp_auth_key_id_) {
return false; return false;
} }
tmp_auth_key_id_ = key_id; being_binded_tmp_auth_key_id_ = key_id;
last_bind_id_ = UniqueId::next(UniqueId::BindKey); last_bind_query_id_ = UniqueId::next(UniqueId::BindKey);
int64 perm_auth_key_id = auth_data_.get_main_auth_key().id(); int64 perm_auth_key_id = auth_data_.get_main_auth_key().id();
int64 nonce = Random::secure_int64(); int64 nonce = Random::secure_int64();
@ -1133,7 +1135,7 @@ bool Session::connection_send_bind_key(ConnectionInfo *info) {
LOG(INFO) << "Bind key: " << tag("tmp", key_id) << tag("perm", static_cast<uint64>(perm_auth_key_id)); LOG(INFO) << "Bind key: " << tag("tmp", key_id) << tag("perm", static_cast<uint64>(perm_auth_key_id));
NetQueryPtr query = G()->net_query_creator().create( NetQueryPtr query = G()->net_query_creator().create(
last_bind_id_, last_bind_query_id_,
create_storer(telegram_api::auth_bindTempAuthKey(perm_auth_key_id, nonce, expires_at, std::move(encrypted)))); create_storer(telegram_api::auth_bindTempAuthKey(perm_auth_key_id, nonce, expires_at, std::move(encrypted))));
query->dispatch_ttl = 0; query->dispatch_ttl = 0;
query->set_callback(actor_shared(this)); query->set_callback(actor_shared(this));

View File

@ -112,10 +112,10 @@ class Session final
uint32 network_generation_ = 0; uint32 network_generation_ = 0;
bool online_flag_ = false; bool online_flag_ = false;
bool connection_online_flag_ = false; bool connection_online_flag_ = false;
uint64 tmp_auth_key_id_ = 0; uint64 being_binded_tmp_auth_key_id_ = 0;
uint64 auth_key_id_ = 0; uint64 being_checked_main_auth_key_id_ = 0;
uint64 last_bind_id_ = 0; uint64 last_bind_query_id_ = 0;
uint64 last_check_id_ = 0; uint64 last_check_query_id_ = 0;
double last_activity_timestamp_ = 0; double last_activity_timestamp_ = 0;
size_t dropped_size_ = 0; size_t dropped_size_ = 0;