miscellaneous refactoring
Summary
-
chore: fix the annoying static mut compilation warnings
-
refactor: introduce ability to initialize a dummy Node for testing
-
refactor: use non-joinable fibers for internal loops
-
chore: tweaks to node::global()
- Change error type
- Use add_of!() macro
- chore: don't use sbroad logging macros in picodata code
It results in compilation warnings because of missing feature mock
- refactor: simplify generic iterator code in plugins a bit
I still don't like this version, because we now have at least 3 instantiations of stop_background_jobs, which is pretty massive. The better solution would be to collect the iterators into a Vec and pass the slice to the function, which would make it so the final binary only has 1 version of it. But the source code is a little bit more readable in the current version, and considering how nobody cares that picodata's release binary weighs 166MB...
- refactor: rework ServiceState, move ServiceId outside the mutex
This change makes it so we don't have to lock the fiber mutex in some cases.
- refactor: use TopologyCache in a couple of places in info.rs
- Cherry-pick to: none
- Docs follow-up: not necessary
-
Changelog is updated