bitcoin/src/node
MarcoFalke 13397dc78f
Merge #19056: rpc: Make gettxoutsetinfo/GetUTXOStats interruptible
fa756928c3 rpc: Make gettxoutsetinfo/GetUTXOStats interruptible (MarcoFalke)
fa7fc5a8e0 rpc: factor out RpcInterruptionPoint from dumptxoutset (MarcoFalke)

Pull request description:

  Make it interruptible, so that shutdown doesn't block for up to one hour.

  Fixes (partially) #13217

ACKs for top commit:
  Empact:
    Code Review ACK fa756928c3
  laanwj:
    Code review ACK fa756928c3

Tree-SHA512: 298261e0ff7d79fab542b8f6828cc0ac451cbafe396d5f0816c9d36437faba1330f5c4cb2a25c5540e202bfb9783da6ec858bd453056ce488d21e36335d3d42c
2020-05-26 07:33:43 -04:00
..
coin.cpp node: Use mempool from node context instead of global 2019-12-05 14:22:05 -05:00
coin.h node: Use mempool from node context instead of global 2019-12-05 14:22:05 -05:00
coinstats.cpp rpc: Make gettxoutsetinfo/GetUTXOStats interruptible 2020-05-22 15:53:50 -04:00
coinstats.h rpc: Make gettxoutsetinfo/GetUTXOStats interruptible 2020-05-22 15:53:50 -04:00
context.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
context.h node: Add chainman alias for g_chainman 2020-05-21 09:55:51 -04:00
psbt.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
psbt.h Have a PSBTAnalysis state that indicates invalid PSBT 2019-11-19 14:54:08 -05:00
README.md [docs] Document src subdirectories and different libraries 2019-04-09 17:53:08 -04:00
transaction.cpp [mempool] Track "unbroadcast" transactions 2020-04-23 14:42:25 -07:00
transaction.h Merge #17509: gui: save and load PSBT 2020-04-23 13:16:23 +12:00
utxo_snapshot.h Convert everything except wallet/qt to new serialization 2020-03-30 16:10:30 -07:00

src/node/

The src/node/ directory contains code that needs to access node state (state in CChain, CBlockIndex, CCoinsView, CTxMemPool, and similar classes).

Code in src/node/ is meant to be segregated from code in src/wallet/ and src/qt/, to ensure wallet and GUI code changes don't interfere with node operation, to allow wallet and GUI code to run in separate processes, and to perhaps eventually allow wallet and GUI code to be maintained in separate source repositories.

As a rule of thumb, code in one of the src/node/, src/wallet/, or src/qt/ directories should avoid calling code in the other directories directly, and only invoke it indirectly through the more limited src/interfaces/ classes.

The src/node/ directory is a new directory introduced in #14978 and at the moment is sparsely populated. Eventually more substantial files like src/validation.cpp and src/txmempool.cpp might be moved there.