This PR is inspired by a recent code review comment on a PR that introduced new functions to the net_processing module. The point of the discussion was basically that whenever we pass something not by value (in the concrete example it was about CNode* and CConnman*) we should either use
- a pointer (CType*) with null pointer check or
- a reference (CType&)
To keep things simple, this PR for a first approach
- only tackles CNode*pointers
- only within the net_processing module, i.e. no changes that would need adaption in other modules
- keeps the names of the variables as they are
I’m aware that PRs like this are kind of a PITA to review, but I think the code quality would increase if we get rid of pointers without nullptr check – bloating up the code by adding all the missing checks would be the worse alternative, in my opinion.
Possible follow-up PRs, in case this is received well:
- replace CNode pointers by references for net module
- replace CConnman pointers by references for net_processing module
- …