mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Get neighbors' msg queues from other nodes
This commit is contained in:
parent
1869a25062
commit
e43e235143
22 changed files with 658 additions and 68 deletions
|
@ -183,6 +183,8 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
};
|
||||
std::map<BlockIdExt, WaitList<WaitBlockState, td::Ref<ShardState>>> wait_state_;
|
||||
std::map<BlockIdExt, WaitList<WaitBlockData, td::Ref<BlockData>>> wait_block_data_;
|
||||
std::map<std::pair<BlockIdExt, ShardIdFull>, WaitList<WaitOutMsgQueueProof, td::Ref<OutMsgQueueProof>>>
|
||||
wait_out_msg_queue_proof_;
|
||||
|
||||
struct WaitBlockHandle {
|
||||
std::vector<td::Promise<BlockHandle>> waiting_;
|
||||
|
@ -357,6 +359,8 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
td::Promise<td::Ref<ShardState>> promise) override;
|
||||
void wait_block_state_short(BlockIdExt block_id, td::uint32 priority, td::Timestamp timeout,
|
||||
td::Promise<td::Ref<ShardState>> promise) override;
|
||||
void wait_out_msg_queue_proof(BlockIdExt block_id, ShardIdFull dst_shard, td::uint32 priority, td::Timestamp timeout,
|
||||
td::Promise<td::Ref<OutMsgQueueProof>> promise) override;
|
||||
|
||||
void set_block_data(BlockHandle handle, td::Ref<BlockData> data, td::Promise<td::Unit> promise) override;
|
||||
void wait_block_data(BlockHandle handle, td::uint32 priority, td::Timestamp,
|
||||
|
@ -444,6 +448,8 @@ 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) override;
|
||||
void send_get_out_msg_queue_proof_request(BlockIdExt id, ShardIdFull dst_shard, td::uint32 priority,
|
||||
td::Promise<td::Ref<OutMsgQueueProof>> promise) 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;
|
||||
|
@ -478,6 +484,7 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
|
||||
void finished_wait_state(BlockHandle handle, td::Result<td::Ref<ShardState>> R);
|
||||
void finished_wait_data(BlockHandle handle, td::Result<td::Ref<BlockData>> R);
|
||||
void finished_wait_msg_queue(BlockIdExt block_id, ShardIdFull dst_shard, td::Result<td::Ref<OutMsgQueueProof>> R);
|
||||
|
||||
void start_up() override;
|
||||
void started(ValidatorManagerInitResult result);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue