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
4916e4847a
34 changed files with 868 additions and 235 deletions
|
@ -237,9 +237,20 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
};
|
||||
std::map<ShardTopBlockDescriptionId, ShardTopBlock> shard_blocks_;
|
||||
std::map<BlockIdExt, td::Ref<OutMsgQueueProof>> cached_msg_queue_to_masterchain_;
|
||||
std::map<MessageId<ExtMessage>, std::unique_ptr<MessageExt<ExtMessage>>> ext_messages_;
|
||||
std::map<std::pair<ton::WorkchainId,ton::StdSmcAddress>, std::map<ExtMessage::Hash, MessageId<ExtMessage>>> ext_addr_messages_;
|
||||
std::map<ExtMessage::Hash, MessageId<ExtMessage>> ext_messages_hashes_;
|
||||
|
||||
struct ExtMessages {
|
||||
std::map<MessageId<ExtMessage>, std::unique_ptr<MessageExt<ExtMessage>>> ext_messages_;
|
||||
std::map<std::pair<ton::WorkchainId, ton::StdSmcAddress>, std::map<ExtMessage::Hash, MessageId<ExtMessage>>>
|
||||
ext_addr_messages_;
|
||||
void erase(const MessageId<ExtMessage>& id) {
|
||||
auto it = ext_messages_.find(id);
|
||||
CHECK(it != ext_messages_.end());
|
||||
ext_addr_messages_[it->second->address()].erase(id.hash);
|
||||
ext_messages_.erase(it);
|
||||
}
|
||||
};
|
||||
std::map<int, ExtMessages> ext_msgs_; // priority -> messages
|
||||
std::map<ExtMessage::Hash, std::pair<int, MessageId<ExtMessage>>> ext_messages_hashes_; // hash -> priority
|
||||
// IHR ?
|
||||
std::map<MessageId<IhrMessage>, std::unique_ptr<MessageExt<IhrMessage>>> ihr_messages_;
|
||||
std::map<IhrMessage::Hash, MessageId<IhrMessage>> ihr_messages_hashes_;
|
||||
|
@ -366,8 +377,8 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
void get_key_block_proof_link(BlockIdExt block_id, td::Promise<td::BufferSlice> promise) override;
|
||||
//void get_block_description(BlockIdExt block_id, td::Promise<BlockDescription> promise) override;
|
||||
|
||||
void new_external_message(td::BufferSlice data) override;
|
||||
void add_external_message(td::Ref<ExtMessage> message);
|
||||
void new_external_message(td::BufferSlice data, int priority) override;
|
||||
void add_external_message(td::Ref<ExtMessage> message, int priority);
|
||||
void check_external_message(td::BufferSlice data, td::Promise<td::Ref<ExtMessage>> promise) override;
|
||||
|
||||
void new_ihr_message(td::BufferSlice data) override;
|
||||
|
@ -429,7 +440,8 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
td::Promise<td::Ref<MessageQueue>> promise) override;
|
||||
void wait_block_message_queue_short(BlockIdExt id, td::uint32 priority, td::Timestamp timeout,
|
||||
td::Promise<td::Ref<MessageQueue>> promise) override;
|
||||
void get_external_messages(ShardIdFull shard, td::Promise<std::vector<td::Ref<ExtMessage>>> promise) override;
|
||||
void get_external_messages(ShardIdFull shard,
|
||||
td::Promise<std::vector<std::pair<td::Ref<ExtMessage>, int>>> promise) override;
|
||||
void get_ihr_messages(ShardIdFull shard, td::Promise<std::vector<td::Ref<IhrMessage>>> promise) override;
|
||||
void get_shard_blocks_for_collator(BlockIdExt masterchain_block_id,
|
||||
td::Promise<std::vector<td::Ref<ShardTopBlockDescription>>> promise) override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue