mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
new db
new database fift/func bugfixes
This commit is contained in:
parent
950e292264
commit
e30d98eb30
110 changed files with 6102 additions and 2075 deletions
|
@ -236,6 +236,7 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
|
||||
BlockHandle last_key_block_handle_;
|
||||
BlockHandle last_known_key_block_handle_;
|
||||
BlockHandle shard_client_handle_;
|
||||
|
||||
BlockHandle gc_masterchain_handle_;
|
||||
td::Ref<MasterchainState> gc_masterchain_state_;
|
||||
|
@ -308,6 +309,8 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
td::int64 max_length, td::Promise<td::BufferSlice> promise) override;
|
||||
void get_block_proof(BlockHandle handle, td::Promise<td::BufferSlice> promise) override;
|
||||
void get_block_proof_link(BlockHandle block_id, td::Promise<td::BufferSlice> promise) override;
|
||||
void get_key_block_proof(BlockIdExt block_id, td::Promise<td::BufferSlice> promise) override;
|
||||
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;
|
||||
|
@ -385,11 +388,11 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
void get_block_proof_link_from_db(BlockHandle handle, td::Promise<td::Ref<ProofLink>> promise) override;
|
||||
void get_block_proof_link_from_db_short(BlockIdExt id, td::Promise<td::Ref<ProofLink>> promise) override;
|
||||
|
||||
void get_block_by_lt_from_db(AccountIdPrefixFull account, LogicalTime lt, td::Promise<BlockIdExt> promise) override;
|
||||
void get_block_by_lt_from_db(AccountIdPrefixFull account, LogicalTime lt, td::Promise<BlockHandle> promise) override;
|
||||
void get_block_by_unix_time_from_db(AccountIdPrefixFull account, UnixTime ts,
|
||||
td::Promise<BlockIdExt> promise) override;
|
||||
td::Promise<BlockHandle> promise) override;
|
||||
void get_block_by_seqno_from_db(AccountIdPrefixFull account, BlockSeqno seqno,
|
||||
td::Promise<BlockIdExt> promise) override;
|
||||
td::Promise<BlockHandle> promise) override;
|
||||
|
||||
// get block handle declared in parent class
|
||||
void write_handle(BlockHandle handle, td::Promise<td::Unit> promise) override;
|
||||
|
@ -424,6 +427,10 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
void get_async_serializer_state(td::Promise<AsyncSerializerState> promise) override;
|
||||
|
||||
void try_get_static_file(FileHash file_hash, td::Promise<td::BufferSlice> promise) override;
|
||||
void try_download_archive_slice();
|
||||
void downloaded_archive_slice(std::string name);
|
||||
void checked_archive_slice(std::vector<BlockSeqno> seqno);
|
||||
void failed_to_download_archive_slice();
|
||||
|
||||
void get_download_token(size_t download_size, td::uint32 priority, td::Timestamp timeout,
|
||||
td::Promise<std::unique_ptr<DownloadToken>> promise) override {
|
||||
|
@ -431,6 +438,10 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
std::move(promise));
|
||||
}
|
||||
|
||||
void get_archive_id(BlockSeqno masterchain_seqno, td::Promise<td::uint64> promise) override;
|
||||
void get_archive_slice(td::uint64 archive_id, td::uint64 offset, td::uint32 limit,
|
||||
td::Promise<td::BufferSlice> promise) override;
|
||||
|
||||
void check_is_hardfork(BlockIdExt block_id, td::Promise<bool> promise) override {
|
||||
CHECK(block_id.is_masterchain());
|
||||
promise.set_result(opts_->is_hardfork(block_id));
|
||||
|
@ -484,6 +495,9 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
allow_block_state_gc(block_id, std::move(promise));
|
||||
}
|
||||
void allow_block_info_gc(BlockIdExt block_id, td::Promise<bool> promise) override;
|
||||
void archive(BlockHandle handle, td::Promise<td::Unit> promise) override {
|
||||
td::actor::send_closure(db_, &Db::archive, std::move(handle), std::move(promise));
|
||||
}
|
||||
|
||||
void send_peek_key_block_request();
|
||||
void got_next_key_blocks(std::vector<BlockIdExt> vec);
|
||||
|
@ -544,6 +558,9 @@ class ValidatorManagerImpl : public ValidatorManager {
|
|||
bool started_ = false;
|
||||
bool allow_validate_ = false;
|
||||
|
||||
bool downloading_archive_slice_ = false;
|
||||
td::Timestamp next_download_archive_slice_at_ = td::Timestamp::now();
|
||||
|
||||
private:
|
||||
double state_ttl() const {
|
||||
return opts_->state_ttl();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue