Coverage Report

Created: 2024-05-16 12:16

/__w/smoldot/smoldot/repo/full-node/src/database_thread.rs
Line
Count
Source (jump to first uncovered line)
1
// Smoldot
2
// Copyright (C) 2019-2022  Parity Technologies (UK) Ltd.
3
// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
4
5
// This program is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
9
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
// GNU General Public License for more details.
14
15
// You should have received a copy of the GNU General Public License
16
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18
//! As explained in the documentation of smoldot, the database uses synchronous I/O operations.
19
//! For this reason, it is undesirable to access it from an asynchronous context.
20
21
use futures_channel::oneshot;
22
use smol::{channel, lock::Mutex, stream::StreamExt as _};
23
use smoldot::database::full_sqlite::SqliteFullDatabase;
24
use std::{pin::pin, thread};
25
26
pub use smoldot::database::full_sqlite::StorageAccessError;
27
28
/// Handle to the thread were the database accesses are performed.
29
///
30
/// Destroying this object stops the thread.
31
///
32
/// Use the `From` trait implementation to build a [`DatabaseThread`].
33
pub struct DatabaseThread {
34
    sender: Mutex<channel::Sender<Exec>>,
35
}
36
37
type Exec = Box<dyn FnOnce(&SqliteFullDatabase) + Send>;
38
39
impl DatabaseThread {
40
    /// Sends a closure to the database thread, executes it, then returns the value that the
41
    /// closure returned.
42
159
    pub async fn with_database<T: Send + 'static>(
43
159
        &self,
44
159
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
159
    ) -> T {
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseAhj20_NCNCNvB5_5start00ECsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
42
2
    pub async fn with_database<T: Send + 'static>(
43
2
        &self,
44
2
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
2
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4k_14SyncBackground12author_block0s2_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4k_14SyncBackground12author_block0s5_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s3_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s6_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRB2t_INtNtNtB1y_5slice4iter4IterB2t_EE0s0_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRB2t_INtNtNtB1y_5slice4iter4IterB2t_EE0s1_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4n_14SyncBackground12author_block0s_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s0_0ECsiLzmwikkc22_14json_rpc_basic
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2u_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB5_17consensus_service9InitErrorENCNCNvMB4w_NtB4w_16ConsensusService3new00ECsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
42
2
    pub async fn with_database<T: Send + 'static>(
43
2
        &self,
44
2
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
2
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1y_5slice4iter4IterB44_EE0s3_0ECsiLzmwikkc22_14json_rpc_basic
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB5_5start0s_0ECsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
42
2
    pub async fn with_database<T: Send + 'static>(
43
2
        &self,
44
2
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
2
    ) -> T {
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB5_5start0s3_0ECsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
42
2
    pub async fn with_database<T: Send + 'static>(
43
2
        &self,
44
2
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
2
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB5_5start0s6_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground14process_blocks0s_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground3run0si_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground3run0sk_0ECsiLzmwikkc22_14json_rpc_basic
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseyNCNCNvB5_5start0s2_0ECsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
42
2
    pub async fn with_database<T: Send + 'static>(
43
2
        &self,
44
2
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
2
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseyNCNCNvB5_5start0s5_0ECsiLzmwikkc22_14json_rpc_basic
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2E_14CorruptedErrorENCNCNCNvMs_NtB5_17consensus_serviceNtB4g_14SyncBackground3run0s5_0s3_0ECsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
42
4
    pub async fn with_database<T: Send + 'static>(
43
4
        &self,
44
4
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
4
    ) -> T {
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1z_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorEB1u_ENCNCNvMNtNtB5_16json_rpc_service22runtime_caches_serviceNtB4r_20RuntimeCachesService3new00EB5_
Line
Count
Source
42
2
    pub async fn with_database<T: Send + 'static>(
43
2
        &self,
44
2
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
2
    ) -> T {
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0s0_0EB5_
Line
Count
Source
42
1
    pub async fn with_database<T: Send + 'static>(
43
1
        &self,
44
1
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
1
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0s5_0EB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0sf_0EB5_
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionAhj20_ENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0s_0EB5_
Line
Count
Source
42
1
    pub async fn with_database<T: Send + 'static>(
43
1
        &self,
44
1
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
1
    ) -> T {
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0s1_0EB5_
Line
Count
Source
42
3
    pub async fn with_database<T: Send + 'static>(
43
3
        &self,
44
3
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
3
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0sa_0EB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0sd_0EB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0s7_0EB5_
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8json_rpc7methods9HexStringENtNtNtB2I_8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0s4_0EB5_
Line
Count
Source
42
5
    pub async fn with_database<T: Send + 'static>(
43
5
        &self,
44
5
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
5
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultNtNtNtCseuYC0Zibziv_7smoldot8json_rpc7methods16StorageChangeSetNtNtNtB2b_8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB5_16json_rpc_service16requests_handler22spawn_requests_handler0sh_0EB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtCsaYZPK01V26L_4core6result6ResultINtNtB28_6option6OptionTB1u_hEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorEENCNCNvMs2_NtNtB5_16json_rpc_service24legacy_api_subscriptionsNtB4u_16SubscribeStorage19next_storage_update0s_0EB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNCNvNtNtB5_16json_rpc_service24chain_head_subscriptions34spawn_chain_head_subscription_task00s0_0EB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtNtCseuYC0Zibziv_7smoldot7network5codec13block_request9BlockDataENtNtNtB2K_8database11full_sqlite14CorruptedErrorENCNCNvNtB5_15network_service23blocks_request_response00EB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseAhj20_NCNCNvB5_5start00ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4k_14SyncBackground12author_block0s2_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4k_14SyncBackground12author_block0s5_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s3_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s6_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRB2t_INtNtNtB1y_5slice4iter4IterB2t_EE0s0_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRB2t_INtNtNtB1y_5slice4iter4IterB2t_EE0s1_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4n_14SyncBackground12author_block0s_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s0_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2u_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB5_17consensus_service9InitErrorENCNCNvMB4w_NtB4w_16ConsensusService3new00ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1y_5slice4iter4IterB44_EE0s3_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB5_5start0s_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB5_5start0s3_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB5_5start0s6_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground14process_blocks0s_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground3run0si_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground3run0sk_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseyNCNCNvB5_5start0s2_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseyNCNCNvB5_5start0s5_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2E_14CorruptedErrorENCNCNCNvMs_NtB5_17consensus_serviceNtB4g_14SyncBackground3run0s5_0s3_0ECscDgN54JpMGG_6author
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseAhj20_NCNCNvB5_5start00ECsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
42
19
    pub async fn with_database<T: Send + 'static>(
43
19
        &self,
44
19
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
19
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4k_14SyncBackground12author_block0s2_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4k_14SyncBackground12author_block0s5_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s3_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s6_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRB2t_INtNtNtB1y_5slice4iter4IterB2t_EE0s0_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRB2t_INtNtNtB1y_5slice4iter4IterB2t_EE0s1_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB5_17consensus_serviceNtB4n_14SyncBackground12author_block0s_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1y_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB5_17consensus_service12runtime_call0s0_0ECsibGXYHQB8Ea_25json_rpc_general_requests
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1y_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2u_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB5_17consensus_service9InitErrorENCNCNvMB4w_NtB4w_16ConsensusService3new00ECsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
42
19
    pub async fn with_database<T: Send + 'static>(
43
19
        &self,
44
19
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
19
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB5_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1y_5slice4iter4IterB44_EE0s3_0ECsibGXYHQB8Ea_25json_rpc_general_requests
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB5_5start0s_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
42
19
    pub async fn with_database<T: Send + 'static>(
43
19
        &self,
44
19
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
19
    ) -> T {
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB5_5start0s3_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
42
19
    pub async fn with_database<T: Send + 'static>(
43
19
        &self,
44
19
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
19
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB5_5start0s6_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground14process_blocks0s_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground3run0si_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseuNCNCNvMs_NtB5_17consensus_serviceNtB1D_14SyncBackground3run0sk_0ECsibGXYHQB8Ea_25json_rpc_general_requests
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseyNCNCNvB5_5start0s2_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
42
19
    pub async fn with_database<T: Send + 'static>(
43
19
        &self,
44
19
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
19
    ) -> T {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseyNCNCNvB5_5start0s5_0ECsibGXYHQB8Ea_25json_rpc_general_requests
_RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2E_14CorruptedErrorENCNCNCNvMs_NtB5_17consensus_serviceNtB4g_14SyncBackground3run0s5_0s3_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
42
38
    pub async fn with_database<T: Send + 'static>(
43
38
        &self,
44
38
        closure: impl FnOnce(&SqliteFullDatabase) -> T + Send + 'static,
45
38
    ) -> T {
Unexecuted instantiation: _RINvMNtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB3_14DatabaseThread13with_databaseppEB5_
46
159
        let (tx, rx) = oneshot::channel();
47
159
        self.sender
48
159
            .lock()
49
0
            .await
50
159
            .send(Box::new(move |db| {
51
159
                let _ = tx.send(closure(db));
52
159
            }))
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseAhj20_NCNCNvB9_5start00E00CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
50
2
            .send(Box::new(move |db| {
51
2
                let _ = tx.send(closure(db));
52
2
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4o_14SyncBackground12author_block0s2_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4o_14SyncBackground12author_block0s5_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s3_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s6_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRB2x_INtNtNtB1C_5slice4iter4IterB2x_EE0s0_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRB2x_INtNtNtB1C_5slice4iter4IterB2x_EE0s1_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4r_14SyncBackground12author_block0s_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s0_0E00CsiLzmwikkc22_14json_rpc_basic
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2y_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB9_17consensus_service9InitErrorENCNCNvMB4A_NtB4A_16ConsensusService3new00E00CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
50
2
            .send(Box::new(move |db| {
51
2
                let _ = tx.send(closure(db));
52
2
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1C_5slice4iter4IterB48_EE0s3_0E00CsiLzmwikkc22_14json_rpc_basic
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB9_5start0s_0E00CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
50
2
            .send(Box::new(move |db| {
51
2
                let _ = tx.send(closure(db));
52
2
            }))
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB9_5start0s3_0E00CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
50
2
            .send(Box::new(move |db| {
51
2
                let _ = tx.send(closure(db));
52
2
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB9_5start0s6_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground14process_blocks0s_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground3run0si_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground3run0sk_0E00CsiLzmwikkc22_14json_rpc_basic
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseyNCNCNvB9_5start0s2_0E00CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
50
2
            .send(Box::new(move |db| {
51
2
                let _ = tx.send(closure(db));
52
2
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseyNCNCNvB9_5start0s5_0E00CsiLzmwikkc22_14json_rpc_basic
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2I_14CorruptedErrorENCNCNCNvMs_NtB9_17consensus_serviceNtB4k_14SyncBackground3run0s5_0s3_0E00CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
50
4
            .send(Box::new(move |db| {
51
4
                let _ = tx.send(closure(db));
52
4
            }))
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1D_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorEB1y_ENCNCNvMNtNtB9_16json_rpc_service22runtime_caches_serviceNtB4v_20RuntimeCachesService3new00E00B9_
Line
Count
Source
50
2
            .send(Box::new(move |db| {
51
2
                let _ = tx.send(closure(db));
52
2
            }))
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0s0_0E00B9_
Line
Count
Source
50
1
            .send(Box::new(move |db| {
51
1
                let _ = tx.send(closure(db));
52
1
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0s5_0E00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0sf_0E00B9_
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionAhj20_ENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0s_0E00B9_
Line
Count
Source
50
1
            .send(Box::new(move |db| {
51
1
                let _ = tx.send(closure(db));
52
1
            }))
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0s1_0E00B9_
Line
Count
Source
50
3
            .send(Box::new(move |db| {
51
3
                let _ = tx.send(closure(db));
52
3
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0sa_0E00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0sd_0E00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0s7_0E00B9_
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8json_rpc7methods9HexStringENtNtNtB2M_8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0s4_0E00B9_
Line
Count
Source
50
5
            .send(Box::new(move |db| {
51
5
                let _ = tx.send(closure(db));
52
5
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultNtNtNtCseuYC0Zibziv_7smoldot8json_rpc7methods16StorageChangeSetNtNtNtB2f_8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB9_16json_rpc_service16requests_handler22spawn_requests_handler0sh_0E00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtCsaYZPK01V26L_4core6result6ResultINtNtB2c_6option6OptionTB1y_hEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorEENCNCNvMs2_NtNtB9_16json_rpc_service24legacy_api_subscriptionsNtB4y_16SubscribeStorage19next_storage_update0s_0E00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNCNvNtNtB9_16json_rpc_service24chain_head_subscriptions34spawn_chain_head_subscription_task00s0_0E00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtNtCseuYC0Zibziv_7smoldot7network5codec13block_request9BlockDataENtNtNtB2O_8database11full_sqlite14CorruptedErrorENCNCNvNtB9_15network_service23blocks_request_response00E00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseAhj20_NCNCNvB9_5start00E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4o_14SyncBackground12author_block0s2_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4o_14SyncBackground12author_block0s5_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s3_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s6_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRB2x_INtNtNtB1C_5slice4iter4IterB2x_EE0s0_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRB2x_INtNtNtB1C_5slice4iter4IterB2x_EE0s1_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4r_14SyncBackground12author_block0s_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s0_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2y_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB9_17consensus_service9InitErrorENCNCNvMB4A_NtB4A_16ConsensusService3new00E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1C_5slice4iter4IterB48_EE0s3_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB9_5start0s_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB9_5start0s3_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB9_5start0s6_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground14process_blocks0s_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground3run0si_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground3run0sk_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseyNCNCNvB9_5start0s2_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseyNCNCNvB9_5start0s5_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2I_14CorruptedErrorENCNCNCNvMs_NtB9_17consensus_serviceNtB4k_14SyncBackground3run0s5_0s3_0E00CscDgN54JpMGG_6author
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseAhj20_NCNCNvB9_5start00E00CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
50
19
            .send(Box::new(move |db| {
51
19
                let _ = tx.send(closure(db));
52
19
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4o_14SyncBackground12author_block0s2_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4o_14SyncBackground12author_block0s5_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s3_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s6_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRB2x_INtNtNtB1C_5slice4iter4IterB2x_EE0s0_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRB2x_INtNtNtB1C_5slice4iter4IterB2x_EE0s1_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB9_17consensus_serviceNtB4r_14SyncBackground12author_block0s_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1C_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB9_17consensus_service12runtime_call0s0_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1C_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2y_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB9_17consensus_service9InitErrorENCNCNvMB4A_NtB4A_16ConsensusService3new00E00CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
50
19
            .send(Box::new(move |db| {
51
19
                let _ = tx.send(closure(db));
52
19
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB9_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1C_5slice4iter4IterB48_EE0s3_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB9_5start0s_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
50
19
            .send(Box::new(move |db| {
51
19
                let _ = tx.send(closure(db));
52
19
            }))
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB9_5start0s3_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
50
19
            .send(Box::new(move |db| {
51
19
                let _ = tx.send(closure(db));
52
19
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB9_5start0s6_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground14process_blocks0s_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground3run0si_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseuNCNCNvMs_NtB9_17consensus_serviceNtB1H_14SyncBackground3run0sk_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseyNCNCNvB9_5start0s2_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
50
19
            .send(Box::new(move |db| {
51
19
                let _ = tx.send(closure(db));
52
19
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseyNCNCNvB9_5start0s5_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2I_14CorruptedErrorENCNCNCNvMs_NtB9_17consensus_serviceNtB4k_14SyncBackground3run0s5_0s3_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
50
38
            .send(Box::new(move |db| {
51
38
                let _ = tx.send(closure(db));
52
38
            }))
Unexecuted instantiation: _RNCNCINvMNtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB7_14DatabaseThread13with_databaseppE00B9_
53
0
            .await
54
159
            .unwrap();
55
159
        rx.
await135
.unwrap()
56
135
    }
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseAhj20_NCNCNvB7_5start00E0CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
45
2
    ) -> T {
46
2
        let (tx, rx) = oneshot::channel();
47
2
        self.sender
48
2
            .lock()
49
0
            .await
50
2
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
2
            }))
53
0
            .await
54
2
            .unwrap();
55
2
        rx.await.unwrap()
56
2
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4m_14SyncBackground12author_block0s2_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4m_14SyncBackground12author_block0s5_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s3_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s6_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRB2v_INtNtNtB1A_5slice4iter4IterB2v_EE0s0_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRB2v_INtNtNtB1A_5slice4iter4IterB2v_EE0s1_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4p_14SyncBackground12author_block0s_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s0_0E0CsiLzmwikkc22_14json_rpc_basic
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2w_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB7_17consensus_service9InitErrorENCNCNvMB4y_NtB4y_16ConsensusService3new00E0CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
45
2
    ) -> T {
46
2
        let (tx, rx) = oneshot::channel();
47
2
        self.sender
48
2
            .lock()
49
0
            .await
50
2
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
2
            }))
53
0
            .await
54
2
            .unwrap();
55
2
        rx.await.unwrap()
56
2
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1A_5slice4iter4IterB46_EE0s3_0E0CsiLzmwikkc22_14json_rpc_basic
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB7_5start0s_0E0CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
45
2
    ) -> T {
46
2
        let (tx, rx) = oneshot::channel();
47
2
        self.sender
48
2
            .lock()
49
0
            .await
50
2
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
2
            }))
53
0
            .await
54
2
            .unwrap();
55
2
        rx.await.unwrap()
56
2
    }
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB7_5start0s3_0E0CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
45
2
    ) -> T {
46
2
        let (tx, rx) = oneshot::channel();
47
2
        self.sender
48
2
            .lock()
49
0
            .await
50
2
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
2
            }))
53
0
            .await
54
2
            .unwrap();
55
2
        rx.await.unwrap()
56
2
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB7_5start0s6_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground14process_blocks0s_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground3run0si_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground3run0sk_0E0CsiLzmwikkc22_14json_rpc_basic
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseyNCNCNvB7_5start0s2_0E0CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
45
2
    ) -> T {
46
2
        let (tx, rx) = oneshot::channel();
47
2
        self.sender
48
2
            .lock()
49
0
            .await
50
2
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
2
            }))
53
0
            .await
54
2
            .unwrap();
55
2
        rx.await.unwrap()
56
2
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseyNCNCNvB7_5start0s5_0E0CsiLzmwikkc22_14json_rpc_basic
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2G_14CorruptedErrorENCNCNCNvMs_NtB7_17consensus_serviceNtB4i_14SyncBackground3run0s5_0s3_0E0CsiLzmwikkc22_14json_rpc_basic
Line
Count
Source
45
4
    ) -> T {
46
4
        let (tx, rx) = oneshot::channel();
47
4
        self.sender
48
4
            .lock()
49
0
            .await
50
4
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
4
            }))
53
0
            .await
54
4
            .unwrap();
55
4
        rx.
await1
.unwrap()
56
1
    }
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1B_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorEB1w_ENCNCNvMNtNtB7_16json_rpc_service22runtime_caches_serviceNtB4t_20RuntimeCachesService3new00E0B7_
Line
Count
Source
45
2
    ) -> T {
46
2
        let (tx, rx) = oneshot::channel();
47
2
        self.sender
48
2
            .lock()
49
0
            .await
50
2
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
2
            }))
53
0
            .await
54
2
            .unwrap();
55
2
        rx.await.unwrap()
56
2
    }
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0s0_0E0B7_
Line
Count
Source
45
1
    ) -> T {
46
1
        let (tx, rx) = oneshot::channel();
47
1
        self.sender
48
1
            .lock()
49
0
            .await
50
1
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
1
            }))
53
0
            .await
54
1
            .unwrap();
55
1
        rx.await.unwrap()
56
1
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0s5_0E0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultAhj20_NtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0sf_0E0B7_
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionAhj20_ENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0s_0E0B7_
Line
Count
Source
45
1
    ) -> T {
46
1
        let (tx, rx) = oneshot::channel();
47
1
        self.sender
48
1
            .lock()
49
0
            .await
50
1
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
1
            }))
53
0
            .await
54
1
            .unwrap();
55
1
        rx.await.unwrap()
56
1
    }
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0s1_0E0B7_
Line
Count
Source
45
3
    ) -> T {
46
3
        let (tx, rx) = oneshot::channel();
47
3
        self.sender
48
3
            .lock()
49
0
            .await
50
3
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
3
            }))
53
0
            .await
54
3
            .unwrap();
55
3
        rx.await.unwrap()
56
3
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0sa_0E0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0sd_0E0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0s7_0E0B7_
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8json_rpc7methods9HexStringENtNtNtB2K_8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0s4_0E0B7_
Line
Count
Source
45
5
    ) -> T {
46
5
        let (tx, rx) = oneshot::channel();
47
5
        self.sender
48
5
            .lock()
49
0
            .await
50
5
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
5
            }))
53
0
            .await
54
5
            .unwrap();
55
5
        rx.await.unwrap()
56
5
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultNtNtNtCseuYC0Zibziv_7smoldot8json_rpc7methods16StorageChangeSetNtNtNtB2d_8database11full_sqlite18StorageAccessErrorENCNCNvNtNtB7_16json_rpc_service16requests_handler22spawn_requests_handler0sh_0E0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtCsaYZPK01V26L_4core6result6ResultINtNtB2a_6option6OptionTB1w_hEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorEENCNCNvMs2_NtNtB7_16json_rpc_service24legacy_api_subscriptionsNtB4w_16SubscribeStorage19next_storage_update0s_0E0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite14CorruptedErrorENCNCNCNvNtNtB7_16json_rpc_service24chain_head_subscriptions34spawn_chain_head_subscription_task00s0_0E0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtNtCseuYC0Zibziv_7smoldot7network5codec13block_request9BlockDataENtNtNtB2M_8database11full_sqlite14CorruptedErrorENCNCNvNtB7_15network_service23blocks_request_response00E0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseAhj20_NCNCNvB7_5start00E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4m_14SyncBackground12author_block0s2_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4m_14SyncBackground12author_block0s5_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s3_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s6_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRB2v_INtNtNtB1A_5slice4iter4IterB2v_EE0s0_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRB2v_INtNtNtB1A_5slice4iter4IterB2v_EE0s1_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4p_14SyncBackground12author_block0s_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s0_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2w_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB7_17consensus_service9InitErrorENCNCNvMB4y_NtB4y_16ConsensusService3new00E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1A_5slice4iter4IterB46_EE0s3_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB7_5start0s_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB7_5start0s3_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB7_5start0s6_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground14process_blocks0s_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground3run0si_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground3run0sk_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseyNCNCNvB7_5start0s2_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseyNCNCNvB7_5start0s5_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2G_14CorruptedErrorENCNCNCNvMs_NtB7_17consensus_serviceNtB4i_14SyncBackground3run0s5_0s3_0E0CscDgN54JpMGG_6author
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseAhj20_NCNCNvB7_5start00E0CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
45
19
    ) -> T {
46
19
        let (tx, rx) = oneshot::channel();
47
19
        self.sender
48
19
            .lock()
49
0
            .await
50
19
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
19
            }))
53
0
            .await
54
19
            .unwrap();
55
19
        rx.await.unwrap()
56
19
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4m_14SyncBackground12author_block0s2_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4m_14SyncBackground12author_block0s5_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s3_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s6_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRB2v_INtNtNtB1A_5slice4iter4IterB2v_EE0s0_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRB2v_INtNtNtB1A_5slice4iter4IterB2v_EE0s1_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvMs_NtB7_17consensus_serviceNtB4p_14SyncBackground12author_block0s_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtB1A_6option6OptionTINtNtCsdZExvAaxgia_5alloc3vec3VechEhEENtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18StorageAccessErrorENCNCNvNtB7_17consensus_service12runtime_call0s0_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultTyINtNtB1A_6option6OptionINtNtCsdZExvAaxgia_5alloc3vec3VechEEB2w_Ahj20_yNtNtNtCseuYC0Zibziv_7smoldot5chain17chain_information21ValidChainInformationENtNtB7_17consensus_service9InitErrorENCNCNvMB4y_NtB4y_16ConsensusService3new00E0CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
45
19
    ) -> T {
46
19
        let (tx, rx) = oneshot::channel();
47
19
        self.sender
48
19
            .lock()
49
0
            .await
50
19
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
19
            }))
53
0
            .await
54
19
            .unwrap();
55
19
        rx.await.unwrap()
56
19
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultuNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite11InsertErrorENCNCINvNtB7_17consensus_service24execute_block_and_insertRINtNtCsdZExvAaxgia_5alloc3vec3VechEINtNtNtB1A_5slice4iter4IterB46_EE0s3_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsdZExvAaxgia_5alloc3vec3VechENCNCNvB7_5start0s_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
45
19
    ) -> T {
46
19
        let (tx, rx) = oneshot::channel();
47
19
        self.sender
48
19
            .lock()
49
0
            .await
50
19
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
19
            }))
53
0
            .await
54
19
            .unwrap();
55
19
        rx.await.unwrap()
56
19
    }
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB7_5start0s3_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
45
19
    ) -> T {
46
19
        let (tx, rx) = oneshot::channel();
47
19
        self.sender
48
19
            .lock()
49
0
            .await
50
19
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
19
            }))
53
0
            .await
54
19
            .unwrap();
55
19
        rx.await.unwrap()
56
19
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseTyAhj20_ENCNCNvB7_5start0s6_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground14process_blocks0s_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground3run0si_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseuNCNCNvMs_NtB7_17consensus_serviceNtB1F_14SyncBackground3run0sk_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseyNCNCNvB7_5start0s2_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
45
19
    ) -> T {
46
19
        let (tx, rx) = oneshot::channel();
47
19
        self.sender
48
19
            .lock()
49
0
            .await
50
19
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
19
            }))
53
0
            .await
54
19
            .unwrap();
55
19
        rx.await.unwrap()
56
19
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseyNCNCNvB7_5start0s5_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
_RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseINtNtCsaYZPK01V26L_4core6result6ResultINtNtCsdZExvAaxgia_5alloc3vec3VecNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite15MissingTrieNodeENtB2G_14CorruptedErrorENCNCNCNvMs_NtB7_17consensus_serviceNtB4i_14SyncBackground3run0s5_0s3_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Line
Count
Source
45
38
    ) -> T {
46
38
        let (tx, rx) = oneshot::channel();
47
38
        self.sender
48
38
            .lock()
49
0
            .await
50
38
            .send(Box::new(move |db| {
51
                let _ = tx.send(closure(db));
52
38
            }))
53
0
            .await
54
38
            .unwrap();
55
38
        rx.
await17
.unwrap()
56
17
    }
Unexecuted instantiation: _RNCINvMNtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB5_14DatabaseThread13with_databaseppE0B7_
57
58
    /// Similar to [`DatabaseThread::with_database`], but without any return value. This function
59
    /// is slightly more optimized for this use case.
60
0
    pub async fn with_database_detached(
61
0
        &self,
62
0
        closure: impl FnOnce(&SqliteFullDatabase) + Send + 'static,
63
0
    ) {
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread22with_database_detachedNCNCNvMs_NtB5_17consensus_serviceNtB1L_14SyncBackground14process_blocks0s4_0ECsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread22with_database_detachedpEB5_
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread22with_database_detachedNCNCNvMs_NtB5_17consensus_serviceNtB1L_14SyncBackground14process_blocks0s4_0ECscDgN54JpMGG_6author
Unexecuted instantiation: _RINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB3_14DatabaseThread22with_database_detachedNCNCNvMs_NtB5_17consensus_serviceNtB1L_14SyncBackground14process_blocks0s4_0ECsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RINvMNtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB3_14DatabaseThread22with_database_detachedpEB5_
64
0
        self.sender
65
0
            .lock()
66
0
            .await
67
0
            .send(Box::new(move |db| {
68
0
                closure(db);
69
0
            }))
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread22with_database_detachedNCNCNvMs_NtB9_17consensus_serviceNtB1P_14SyncBackground14process_blocks0s4_0E00CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread22with_database_detachedpE00B9_
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread22with_database_detachedNCNCNvMs_NtB9_17consensus_serviceNtB1P_14SyncBackground14process_blocks0s4_0E00CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB7_14DatabaseThread22with_database_detachedNCNCNvMs_NtB9_17consensus_serviceNtB1P_14SyncBackground14process_blocks0s4_0E00CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCNCINvMNtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB7_14DatabaseThread22with_database_detachedpE00B9_
70
0
            .await
71
0
            .unwrap();
72
0
    }
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread22with_database_detachedNCNCNvMs_NtB7_17consensus_serviceNtB1N_14SyncBackground14process_blocks0s4_0E0CsiLzmwikkc22_14json_rpc_basic
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread22with_database_detachedpE0B7_
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread22with_database_detachedNCNCNvMs_NtB7_17consensus_serviceNtB1N_14SyncBackground14process_blocks0s4_0E0CscDgN54JpMGG_6author
Unexecuted instantiation: _RNCINvMNtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB5_14DatabaseThread22with_database_detachedNCNCNvMs_NtB7_17consensus_serviceNtB1N_14SyncBackground14process_blocks0s4_0E0CsibGXYHQB8Ea_25json_rpc_general_requests
Unexecuted instantiation: _RNCINvMNtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB5_14DatabaseThread22with_database_detachedpE0B7_
73
}
74
75
impl From<SqliteFullDatabase> for DatabaseThread {
76
21
    fn from(db: SqliteFullDatabase) -> DatabaseThread {
77
21
        let (sender, rx) = channel::bounded::<Box<dyn FnOnce(&SqliteFullDatabase) + Send>>(256);
78
21
79
21
        thread::Builder::new()
80
21
            .name("sqlite-database".into())
81
21
            .spawn(move || {
82
21
                // When the `DatabaseThread` is dropped, the sender will close, `rx.next()`
83
21
                // will return `None`, and the closure here will finish, ending the thread.
84
21
                let mut rx = pin!(rx);
85
180
                while let Some(
closure159
) = smol::block_on(rx.next()) {
86
159
                    closure(&db)
87
                }
88
21
            })
_RNCNvXs_NtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB6_14DatabaseThreadINtNtCsaYZPK01V26L_4core7convert4FromNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18SqliteFullDatabaseE4from0B8_
Line
Count
Source
81
21
            .spawn(move || {
82
21
                // When the `DatabaseThread` is dropped, the sender will close, `rx.next()`
83
21
                // will return `None`, and the closure here will finish, ending the thread.
84
21
                let mut rx = pin!(rx);
85
180
                while let Some(
closure159
) = smol::block_on(rx.next()) {
86
159
                    closure(&db)
87
                }
88
21
            })
Unexecuted instantiation: _RNCNvXs_NtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB6_14DatabaseThreadINtNtCsaYZPK01V26L_4core7convert4FromNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18SqliteFullDatabaseE4from0B8_
89
21
            .unwrap();
90
21
91
21
        DatabaseThread {
92
21
            sender: Mutex::new(sender),
93
21
        }
94
21
    }
_RNvXs_NtCsiUjFBJteJ7x_17smoldot_full_node15database_threadNtB4_14DatabaseThreadINtNtCsaYZPK01V26L_4core7convert4FromNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18SqliteFullDatabaseE4from
Line
Count
Source
76
21
    fn from(db: SqliteFullDatabase) -> DatabaseThread {
77
21
        let (sender, rx) = channel::bounded::<Box<dyn FnOnce(&SqliteFullDatabase) + Send>>(256);
78
21
79
21
        thread::Builder::new()
80
21
            .name("sqlite-database".into())
81
21
            .spawn(move || {
82
                // When the `DatabaseThread` is dropped, the sender will close, `rx.next()`
83
                // will return `None`, and the closure here will finish, ending the thread.
84
                let mut rx = pin!(rx);
85
                while let Some(closure) = smol::block_on(rx.next()) {
86
                    closure(&db)
87
                }
88
21
            })
89
21
            .unwrap();
90
21
91
21
        DatabaseThread {
92
21
            sender: Mutex::new(sender),
93
21
        }
94
21
    }
Unexecuted instantiation: _RNvXs_NtCshBwayKnNXDT_17smoldot_full_node15database_threadNtB4_14DatabaseThreadINtNtCsaYZPK01V26L_4core7convert4FromNtNtNtCseuYC0Zibziv_7smoldot8database11full_sqlite18SqliteFullDatabaseE4from
95
}