Details
-
Improvement
-
Status: Patch Available
-
Minor
-
Resolution: Unresolved
-
3.2.0
-
None
-
None
-
Patch
Description
Various improvements to the RMCommunicator class.
- Use SLF4J parameterized logging
- Use switch statement instead of if-else statements
- Remove anti-pattern of "log and throw" (just throw)
- Use a flag to stop thread instead of an interrupt (it may be interrupting the heartbeat code and not the thread loop)
- The main thread loops performs loops on the heartbeat callback queue until the queue is empty. It's technically possible that other threads could constantly put new callbacks into the queue and therefore the main thread never progresses past the callbacks. Put a cap on the number of callbacks that will be processed in any iteration.