0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-09 15:37:00 -04:00
bitcoin-core/src/rpc
Ava Chow c07935bcf5
Merge bitcoin/bitcoin#28960: kernel: Remove dependency on CScheduler
d5228efb53 kernel: Remove dependency on CScheduler (TheCharlatan)
06069b3913 scripted-diff: Rename MainSignals to ValidationSignals (TheCharlatan)
0d6d2b650d scripted-diff: Rename SingleThreadedSchedulerClient to SerialTaskRunner (TheCharlatan)
4abde2c4e3 [refactor] Make MainSignals RAII styled (TheCharlatan)
84f5c135b8 refactor: De-globalize g_signals (TheCharlatan)
473dd4b97a [refactor] Prepare for g_signals de-globalization (TheCharlatan)
3fba3d5dee [refactor] Make signals optional in mempool and chainman (TheCharlatan)

Pull request description:

  By defining a virtual interface class for the scheduler client, users of the kernel can now define their own event consuming infrastructure, without having to spawn threads or rely on the scheduler design.

  Removing `CScheduler` also allows removing the thread and exception modules from the kernel library.

  To make the `CMainSignals` class easier to use from a kernel library perspective, remove its global instantiation and adopt RAII practices.

  Renames `CMainSignals` to `ValidationSignals`, which more accurately describes its purpose and scope.

  Also make the `ValidationSignals` in the `ChainstateManager` and CTxMemPool` optional. This could be useful in the future for using or testing these classes without having to instantiate any form of signal handling.

  ---

  This PR is part of the [libbitcoinkernel project](https://github.com/bitcoin/bitcoin/issues/27587). It improves the kernel API and removes two modules from the kernel library.

ACKs for top commit:
  maflcko:
    re-ACK d5228efb53 🌄
  ryanofsky:
    Code review ACK d5228efb53. Just comment change since last review.
  vasild:
    ACK d5228efb53
  furszy:
    diff ACK d5228ef

Tree-SHA512: e93a5f10eb6182effb84bb981859a7ce750e466efd8171045d8d9e7fe46e4065631d9f6f533c5967c4d34c9bb7d7a67e9f4593bd4c5b30cd7b3bbad7be7b331b
2024-03-08 20:58:04 -05:00
..
blockchain.cpp Merge bitcoin/bitcoin#28960: kernel: Remove dependency on CScheduler 2024-03-08 20:58:04 -05:00
blockchain.h refactor: rpc: Pass CBlockIndex by reference instead of pointer 2023-12-07 12:05:21 +01:00
client.cpp Merge bitcoin/bitcoin#24748: test/BIP324: functional tests for v2 P2P encryption 2024-01-29 12:31:31 -05:00
client.h refactor: rpc: hide and rename ParseNonRFCJSONValue() 2023-03-23 18:18:46 +00:00
external_signer.cpp scripted-diff: Fix bitcoin_config_h includes 2024-02-13 20:10:44 +00:00
fees.cpp refactor: De-globalize g_signals 2024-02-15 14:37:01 +01:00
mempool.cpp doc: Clarify maxfeerate help 2024-02-15 19:46:45 +01:00
mempool.h rpc: Move mempool RPCs to new file 2022-03-11 17:46:58 +01:00
mining.cpp Merge bitcoin/bitcoin#28960: kernel: Remove dependency on CScheduler 2024-03-08 20:58:04 -05:00
mining.h rpc: create rpc/mining.h, hoist default max tries values to constant 2020-06-01 15:08:36 +02:00
net.cpp [test] make v2transport arg in addconnection mandatory and few cleanups 2024-01-31 22:37:54 +05:30
node.cpp Merge bitcoin/bitcoin#28960: kernel: Remove dependency on CScheduler 2024-03-08 20:58:04 -05:00
output_script.cpp Add PubKeyDestination for P2PK scripts 2023-09-12 12:14:31 -04:00
protocol.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
rawtransaction.cpp Merge bitcoin/bitcoin#28890: rpc: Remove deprecated -rpcserialversion 2024-01-05 10:42:10 +00:00
rawtransaction_util.cpp refactor: move parsing to new function 2024-01-19 15:04:56 +01:00
rawtransaction_util.h refactor: move parsing to new function 2024-01-19 15:04:56 +01:00
register.h scripted-diff: Fix bitcoin_config_h includes 2024-02-13 20:10:44 +00:00
request.cpp rpc: keep .cookie if it was not generated 2023-11-03 17:29:27 +02:00
request.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
server.cpp scripted-diff: Fix bitcoin_config_h includes 2024-02-13 20:10:44 +00:00
server.h Remove deprecated -rpcserialversion 2023-12-11 18:22:13 +01:00
server_util.cpp refactor: add and use EnsureAnyAddrman in rpc 2023-10-04 08:53:51 +05:30
server_util.h refactor: add and use EnsureAnyAddrman in rpc 2023-10-04 08:53:51 +05:30
signmessage.cpp rpc: Move signmessage RPC util to new file 2022-04-28 11:19:29 +02:00
txoutproof.cpp refactor: Use Txid in CMerkleBlock 2023-11-28 17:49:41 +01:00
util.cpp Merge bitcoin/bitcoin#29404: refactor: bitcoin-config.h includes cleanup 2024-02-20 13:07:48 +00:00
util.h rpc: Add ParseFeeRate helper 2024-02-15 10:55:47 +01:00