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

Send validator telemetry to the private overlay (#1325)

* Send validator telemetry to the private overlay

* Improve rotating neighbours in overlays
This commit is contained in:
SpyCheese 2024-11-25 23:37:18 +04:00 committed by GitHub
parent 52b010ff34
commit 061c82f89c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 426 additions and 13 deletions

View file

@ -34,6 +34,7 @@
#include "rldp/rldp.h"
#include "token-manager.h"
#include "queue-size-counter.hpp"
#include "validator-telemetry.hpp"
#include "impl/candidates-buffer.hpp"
#include <map>
@ -339,6 +340,7 @@ class ValidatorManagerImpl : public ValidatorManager {
}
void add_temp_key(PublicKeyHash key, td::Promise<td::Unit> promise) override {
temp_keys_.insert(key);
init_validator_telemetry();
promise.set_value(td::Unit());
}
void del_permanent_key(PublicKeyHash key, td::Promise<td::Unit> promise) override {
@ -347,6 +349,7 @@ class ValidatorManagerImpl : public ValidatorManager {
}
void del_temp_key(PublicKeyHash key, td::Promise<td::Unit> promise) override {
temp_keys_.erase(key);
init_validator_telemetry();
promise.set_value(td::Unit());
}
@ -501,6 +504,7 @@ class ValidatorManagerImpl : public ValidatorManager {
void send_ihr_message(td::Ref<IhrMessage> message) override;
void send_top_shard_block_description(td::Ref<ShardTopBlockDescription> desc) override;
void send_block_broadcast(BlockBroadcast broadcast, int mode) override;
void send_validator_telemetry(PublicKeyHash key, tl_object_ptr<ton_api::validator_telemetry> telemetry) override;
void update_shard_client_state(BlockIdExt masterchain_block_id, td::Promise<td::Unit> promise) override;
void get_shard_client_state(bool from_db, td::Promise<BlockIdExt> promise) override;
@ -732,6 +736,10 @@ class ValidatorManagerImpl : public ValidatorManager {
CollationStats stats) override;
void record_validate_query_stats(BlockIdExt block_id, double work_time, double cpu_work_time) override;
RecordedBlockStats &new_block_stats_record(BlockIdExt block_id);
std::map<PublicKeyHash, td::actor::ActorOwn<ValidatorTelemetry>> validator_telemetry_;
void init_validator_telemetry();
};
} // namespace validator