1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00

Validator patch: state download, adnl stats (#1257)

* Persistent state download improvements

1) Don't start over on restart
2) Download shards one at a time to reduce RAM usage
3) More logs

* Remove old peers from adnl stats
This commit is contained in:
SpyCheese 2024-10-09 13:55:59 +03:00 committed by GitHub
parent 1da94e62ad
commit b69214b6af
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 135 additions and 76 deletions

View file

@ -1306,13 +1306,21 @@ td::Status GetCollatorOptionsJsonQuery::receive(td::BufferSlice data) {
td::Status GetAdnlStatsJsonQuery::run() {
TRY_RESULT_ASSIGN(file_name_, tokenizer_.get_token<std::string>());
if (!tokenizer_.endl()) {
TRY_RESULT(s, tokenizer_.get_token<std::string>());
if (s == "all") {
all_ = true;
} else {
return td::Status::Error(PSTRING() << "unexpected token " << s);
}
}
TRY_STATUS(tokenizer_.check_endl());
return td::Status::OK();
}
td::Status GetAdnlStatsJsonQuery::send() {
auto b =
ton::create_serialize_tl_object<ton::ton_api::engine_validator_getAdnlStats>();
ton::create_serialize_tl_object<ton::ton_api::engine_validator_getAdnlStats>(all_);
td::actor::send_closure(console_, &ValidatorEngineConsole::envelope_send_query, std::move(b), create_promise());
return td::Status::OK();
}
@ -1327,13 +1335,21 @@ td::Status GetAdnlStatsJsonQuery::receive(td::BufferSlice data) {
}
td::Status GetAdnlStatsQuery::run() {
if (!tokenizer_.endl()) {
TRY_RESULT(s, tokenizer_.get_token<std::string>());
if (s == "all") {
all_ = true;
} else {
return td::Status::Error(PSTRING() << "unexpected token " << s);
}
}
TRY_STATUS(tokenizer_.check_endl());
return td::Status::OK();
}
td::Status GetAdnlStatsQuery::send() {
auto b =
ton::create_serialize_tl_object<ton::ton_api::engine_validator_getAdnlStats>();
ton::create_serialize_tl_object<ton::ton_api::engine_validator_getAdnlStats>(all_);
td::actor::send_closure(console_, &ValidatorEngineConsole::envelope_send_query, std::move(b), create_promise());
return td::Status::OK();
}