Done in #20811 :
- Moves implementation details of PeerManager into PeerManagerImpl; moves PeerManagerImpl into .cpp
- Moves struct Peer definition into .cpp
Done in #20942:
- Moves net_processing globals into PeerManagerImpl.
- Moves a lot of net_processing functions into PeerManagerImpl and simplifies some of their arguments as a result.
In #21148:
- Split orphan management into its own module
- More more globals/functions into PeerManagerImpl
Additional things in this PR:
- Moves more globals/functions into PeerManagerImpl; simplify their arguments.
- Makes test/denialofservice_tests use the PeerManager api instead of directly accessing net_processing implementation details
- Introduces State(CNode&) and State(Peer&) alternatives to calling State(node.GetId()) all the time.
- Moves CNodeState into Peer as a step towards consolidating state information
- Make NetEventsInterface take a CNode& instead of a CNode*
- Pass ArgsManager into the constructor and collect parameters once rather than calling GetArgs regularly at runtime
Not done yet:
- Split parts of PeerManager into their own modules a la txrequest (block downloads?)