55 locking_shard(
const std::pair<uint8_t, uint8_t>& output_range,
56 std::shared_ptr<logging::log> logger,
57 size_t completed_txs_cache_size,
58 const std::string& preseed_file,
77 -> std::optional<std::vector<bool>>
final;
96 const hash_t& dtx_id) ->
bool final;
117 -> std::optional<
bool> final;
125 -> std::optional<
bool> final;
128 auto read_preseed_file(const std::
string& preseed_file) ->
bool;
129 auto check_and_lock_tx(const
tx& t) ->
bool;
131 struct prepared_dtx {
132 std::vector<tx> m_txs;
133 std::vector<bool> m_results;
135 std::atomic_bool m_running{
true};
137 std::shared_ptr<logging::log> m_logger;
138 mutable std::shared_mutex m_mut;
139 std::unordered_set<hash_t, hashing::null> m_uhs;
140 std::unordered_set<hash_t, hashing::null> m_locked;
141 std::unordered_map<hash_t, prepared_dtx, hashing::null>
143 std::unordered_set<hash_t, hashing::null> m_applied_dtxs;