Add node neighbor link updater controller#9
Add node neighbor link updater controller#9MitchLewis930 wants to merge 1 commit intopr_049_beforefrom
Conversation
This controller is responsible for monitoring nodes that request a neighbor link update. It provides a single place in the application where all node neighbor link are updates are performed as insertNeighbor are sprinkled in the code base. Additionally given the central location we can provide additional module health signals should neighbor link updates failed. Signed-off-by: Fernand Galiana <fernand.galiana@gmail.com>
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||||||
User description
PR_049
PR Type
Enhancement
Description
Introduce node neighbor link updater controller for centralized monitoring
Add NodeNeighborEnqueuer interface for asynchronous neighbor link updates
Replace async goroutines with queue-based processing for better health tracking
Update NodeNeighborRefresh signature to include refresh parameter
Diagram Walkthrough
File Walkthrough
10 files
Initialize node neighbor link updater controllerUpdate NodeNeighborRefresh signature with refresh parameterInject NodeManager into datapath configurationUpdate fake node handler with refresh parameterPass NodeManager to NewNodeHandler constructorReplace async goroutines with queue-based neighbor updates,add
NodeNeighborEnqueuer field, improve error handlingAdd NodeNeighborEnqueuer interface definitionUpdate NodeNeighborRefresh signature with refresh parameterAdd NodeNeighborEnqueuer and StartNodeNeighborLinkUpdater to interfaceImplement node neighbor queue and link updater controller,add Enqueue
method, refactor neighbor refresh logic4 files
Add mockEnqueuer for fuzzing and update test callsUpdate test calls with refresh parameter and mockEnqueuerUpdate NewNodeHandler calls with mockEnqueuer parameterAdd queue implementation tests for push and pop operations1 files
Minor formatting adjustment to config structure