mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Merge branch 'testnet' into block-generation
This commit is contained in:
commit
d082ac36b0
261 changed files with 24449 additions and 1791 deletions
|
@ -1059,6 +1059,57 @@ td::Status GetPerfTimerStatsJsonQuery::receive(td::BufferSlice data) {
|
|||
return td::Status::OK();
|
||||
}
|
||||
|
||||
td::Status GetShardOutQueueSizeQuery::run() {
|
||||
TRY_RESULT_ASSIGN(block_id_.workchain, tokenizer_.get_token<int>());
|
||||
TRY_RESULT_ASSIGN(block_id_.shard, tokenizer_.get_token<long long>());
|
||||
TRY_RESULT_ASSIGN(block_id_.seqno, tokenizer_.get_token<int>());
|
||||
if (!tokenizer_.endl()) {
|
||||
ton::ShardIdFull dest;
|
||||
TRY_RESULT_ASSIGN(dest.workchain, tokenizer_.get_token<int>());
|
||||
TRY_RESULT_ASSIGN(dest.shard, tokenizer_.get_token<long long>());
|
||||
dest_ = dest;
|
||||
}
|
||||
TRY_STATUS(tokenizer_.check_endl());
|
||||
return td::Status::OK();
|
||||
}
|
||||
|
||||
td::Status GetShardOutQueueSizeQuery::send() {
|
||||
auto b = ton::create_serialize_tl_object<ton::ton_api::engine_validator_getShardOutQueueSize>(
|
||||
dest_ ? 1 : 0, ton::create_tl_block_id_simple(block_id_), dest_ ? dest_.value().workchain : 0,
|
||||
dest_ ? dest_.value().shard : 0);
|
||||
td::actor::send_closure(console_, &ValidatorEngineConsole::envelope_send_query, std::move(b), create_promise());
|
||||
return td::Status::OK();
|
||||
}
|
||||
|
||||
td::Status GetShardOutQueueSizeQuery::receive(td::BufferSlice data) {
|
||||
TRY_RESULT_PREFIX(f, ton::fetch_tl_object<ton::ton_api::engine_validator_shardOutQueueSize>(data.as_slice(), true),
|
||||
"received incorrect answer: ");
|
||||
td::TerminalIO::out() << "Queue_size: " << f->size_ << "\n";
|
||||
return td::Status::OK();
|
||||
}
|
||||
|
||||
td::Status SetExtMessagesBroadcastDisabledQuery::run() {
|
||||
TRY_RESULT(x, tokenizer_.get_token<int>());
|
||||
if (x < 0 || x > 1) {
|
||||
return td::Status::Error("value should be 0 or 1");
|
||||
}
|
||||
value = x;
|
||||
return td::Status::OK();
|
||||
}
|
||||
|
||||
td::Status SetExtMessagesBroadcastDisabledQuery::send() {
|
||||
auto b = ton::create_serialize_tl_object<ton::ton_api::engine_validator_setExtMessagesBroadcastDisabled>(value);
|
||||
td::actor::send_closure(console_, &ValidatorEngineConsole::envelope_send_query, std::move(b), create_promise());
|
||||
return td::Status::OK();
|
||||
}
|
||||
|
||||
td::Status SetExtMessagesBroadcastDisabledQuery::receive(td::BufferSlice data) {
|
||||
TRY_RESULT_PREFIX(f, ton::fetch_tl_object<ton::ton_api::engine_validator_success>(data.as_slice(), true),
|
||||
"received incorrect answer: ");
|
||||
td::TerminalIO::out() << "success\n";
|
||||
return td::Status::OK();
|
||||
}
|
||||
|
||||
td::Status GetValidatorSessionsInfoQuery::run() {
|
||||
TRY_STATUS(tokenizer_.check_endl());
|
||||
return td::Status::OK();
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include "td/utils/SharedSlice.h"
|
||||
#include "td/utils/port/IPAddress.h"
|
||||
#include "td/actor/actor.h"
|
||||
#include "ton/ton-types.h"
|
||||
|
||||
#include "keys/keys.hpp"
|
||||
|
||||
|
@ -1097,6 +1098,53 @@ class GetPerfTimerStatsJsonQuery : public Query {
|
|||
std::string file_name_;
|
||||
};
|
||||
|
||||
class GetShardOutQueueSizeQuery : public Query {
|
||||
public:
|
||||
GetShardOutQueueSizeQuery(td::actor::ActorId<ValidatorEngineConsole> console, Tokenizer tokenizer)
|
||||
: Query(console, std::move(tokenizer)) {
|
||||
}
|
||||
td::Status run() override;
|
||||
td::Status send() override;
|
||||
td::Status receive(td::BufferSlice data) override;
|
||||
static std::string get_name() {
|
||||
return "getshardoutqueuesize";
|
||||
}
|
||||
static std::string get_help() {
|
||||
return "getshardoutqueuesize <wc> <shard> <seqno> [<dest_wc> <dest_shard>]\treturns number of messages in the "
|
||||
"queue of the given shard. Destination shard is optional.";
|
||||
}
|
||||
std::string name() const override {
|
||||
return get_name();
|
||||
}
|
||||
|
||||
private:
|
||||
ton::BlockId block_id_;
|
||||
td::optional<ton::ShardIdFull> dest_;
|
||||
};
|
||||
|
||||
class SetExtMessagesBroadcastDisabledQuery : public Query {
|
||||
public:
|
||||
SetExtMessagesBroadcastDisabledQuery(td::actor::ActorId<ValidatorEngineConsole> console, Tokenizer tokenizer)
|
||||
: Query(console, std::move(tokenizer)) {
|
||||
}
|
||||
td::Status run() override;
|
||||
td::Status send() override;
|
||||
td::Status receive(td::BufferSlice data) override;
|
||||
static std::string get_name() {
|
||||
return "setextmessagesbroadcastdisabled";
|
||||
}
|
||||
static std::string get_help() {
|
||||
return "setextmessagesbroadcastdisabled <value>\tdisable broadcasting and rebroadcasting ext messages; value is 0 "
|
||||
"or 1.";
|
||||
}
|
||||
std::string name() const override {
|
||||
return get_name();
|
||||
}
|
||||
|
||||
private:
|
||||
bool value;
|
||||
};
|
||||
|
||||
class GetValidatorSessionsInfoQuery : public Query {
|
||||
public:
|
||||
GetValidatorSessionsInfoQuery(td::actor::ActorId<ValidatorEngineConsole> console, Tokenizer tokenizer)
|
||||
|
|
|
@ -141,6 +141,8 @@ void ValidatorEngineConsole::run() {
|
|||
add_query_runner(std::make_unique<QueryRunnerImpl<ImportShardOverlayCertificateQuery>>());
|
||||
add_query_runner(std::make_unique<QueryRunnerImpl<SignShardOverlayCertificateQuery>>());
|
||||
add_query_runner(std::make_unique<QueryRunnerImpl<GetPerfTimerStatsJsonQuery>>());
|
||||
add_query_runner(std::make_unique<QueryRunnerImpl<GetShardOutQueueSizeQuery>>());
|
||||
add_query_runner(std::make_unique<QueryRunnerImpl<SetExtMessagesBroadcastDisabledQuery>>());
|
||||
add_query_runner(std::make_unique<QueryRunnerImpl<GetValidatorSessionsInfoQuery>>());
|
||||
add_query_runner(std::make_unique<QueryRunnerImpl<AddCollatorQuery>>());
|
||||
add_query_runner(std::make_unique<QueryRunnerImpl<AddShardQuery>>());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue