70398ae05bc36a2788e87f67ae06962f43fe35a6 mapport: make ProcessPCP void (Antoine Poinsot) 9e6cba29882e72eabbe68307b2040d7919143b6f mapport: remove unnecessary 'g_mapport_enabled' (Antoine Poinsot) 8fb45fcda07aa1fa6d8420cbfe8e6b960b2df8fb mapport: remove unnecessary 'g_mapport_current' variable (Antoine Poinsot) 1b223cb19b4e04f9ab5fa0750e804fe44eba012f mapport: merge DispatchMapPort into StartMapPort (Antoine Poinsot) 9bd936fa34a2d8a1b0f71836456d7933fbf131a6 mapport: drop unnecessary function (Antoine Poinsot) 2a6536ceda7a28c5605005032bba32ffd3df082d mapport: rename 'use_pcp' to 'enable' (Antoine Poinsot) c4e82b854cdd3702d20a6afc49ef26bda9d2ba24 mapport: make 'enabled' and 'current' bool (Antoine Poinsot) Pull request description: Followup to #31130, this does a couple cleanups to `src/mapport.*` to clarify the logic now that there is a single protocol option for port mapping. ACKs for top commit: laanwj: Code review ACK 70398ae05bc36a2788e87f67ae06962f43fe35a6 TheCharlatan: ACK 70398ae05bc36a2788e87f67ae06962f43fe35a6 Tree-SHA512: d9a3ab4fcd59a7cf4872415c40cc7ac3a98dfc5aa25e195d4df880bb588bac286c30c3471e9d9499de379a75f45dcd0a82019eba3cb9f342004ae1482d0ba075
Internal c++ interfaces
The following interfaces are defined here:
-
Chain
— used by wallet to access blockchain and mempool state. Added in #14437, #14711, #15288, and #10973. -
ChainClient
— used by node to start & stopChain
clients. Added in #14437. -
Node
— used by GUI to start & stop bitcoin node. Added in #10244. -
Handler
— returned byhandleEvent
methods on interfaces above and used to manage lifetimes of event handlers. -
Init
— used by multiprocess code to access interfaces above on startup. Added in #19160. -
Ipc
— used by multiprocess code to accessInit
interface across processes. Added in #19160.
The interfaces above define boundaries between major components of bitcoin code (node, wallet, and gui), making it possible for them to run in different processes, and be tested, developed, and understood independently. These interfaces are not currently designed to be stable or to be used externally.