kernel: Add chainstate manager option for setting worker threads

Re-use the same pattern used for the context options. This allows users
to set the number of threads used in the validation thread pool.
This commit is contained in:
TheCharlatan
2024-11-17 17:36:48 +01:00
parent 65571c36a2
commit e2c1bd3d71
4 changed files with 24 additions and 0 deletions

View File

@@ -729,6 +729,18 @@ BITCOINKERNEL_API btck_ChainstateManagerOptions* BITCOINKERNEL_WARN_UNUSED_RESUL
const char* blocks_directory,
size_t blocks_directory_len) BITCOINKERNEL_ARG_NONNULL(1, 2);
/**
* @brief Set the number of available worker threads used during validation.
*
* @param[in] chainstate_manager_options Non-null, options to be set.
* @param[in] worker_threads The number of worker threads that should be spawned in the thread pool
* used for validation. When set to 0 no parallel verification is done.
* The value range is clamped internally between 0 and 15.
*/
BITCOINKERNEL_API void btck_chainstate_manager_options_set_worker_threads_num(
btck_ChainstateManagerOptions* chainstate_manager_options,
int worker_threads) BITCOINKERNEL_ARG_NONNULL(1);
/**
* Destroy the chainstate manager options.
*/