Closed wdbaruni closed 1 day ago
[!NOTE] Currently processing new changes in this PR. This may take a few minutes, please wait...
📥 Commits
Reviewing files that changed from the base of the PR and between b9ffe3de84fe093a8b634839c647578920b0bc91 and f7856e347b6ae0bc387e5558ffa68250be44158c.📒 Files selected for processing (3)
* `pkg/lib/watcher/manager.go` (1 hunks) * `pkg/lib/watcher/types.go` (3 hunks) * `pkg/lib/watcher/watcher_test.go` (27 hunks)__________________________________________ < Performing energy-intensive code review. > ------------------------------------------ \ \ (\__/) (•ㅅ•) / づ
The pull request introduces significant changes to the Watcher Library, primarily renaming the "Registry" component to "Manager" across various files. This includes updates to method signatures, documentation, and the introduction of new error handling capabilities. Additionally, new configuration options for creating watchers are added, enhancing flexibility. The changes also involve the addition of a new manager
type to manage multiple watchers, along with comprehensive test coverage for the new functionality. Several files related to the old registry implementation have been removed, reflecting a complete transition to the new manager-based architecture.
File | Change Summary |
---|---|
pkg/lib/watcher/README.md |
Updated terminology from "Registry" to "Manager"; modified method signatures and usage examples; added new configuration options for watchers. |
pkg/lib/watcher/errors.go |
Added new error variables: ErrNoHandler and ErrHandlerExists . |
pkg/lib/watcher/manager.go |
Introduced manager type; added methods for creating, looking up, and stopping watchers; included lifecycle management functionality. |
pkg/lib/watcher/manager_test.go |
Added a comprehensive test suite for the manager functionality, covering various scenarios. |
pkg/lib/watcher/mocks.go |
Updated mock types; renamed methods to align with the new Manager interface. |
pkg/lib/watcher/options.go |
Enhanced watchOptions struct with new fields and functions for handler and auto-start configurations. |
pkg/lib/watcher/registry.go |
Removed file; previously managed watchers using the Registry type. |
pkg/lib/watcher/registry_test.go |
Removed file; contained tests for the old Registry functionality. |
pkg/lib/watcher/serializer.go |
Updated comments to reflect "Manager" instead of "Registry". |
pkg/lib/watcher/types.go |
Expanded Watcher interface; replaced Registry interface with Manager interface. |
pkg/lib/watcher/watcher.go |
Modified watcher struct; updated methods for improved functionality and error handling. |
pkg/lib/watcher/watcher_test.go |
Refactored test suite to improve context management and error handling. |
pkg/node/compute.go |
Updated Compute struct to use watcher.Manager ; modified watcher setup logic. |
pkg/node/requester.go |
Changed watcher management from Registry to Manager ; refined watcher initialization logic. |
pkg/orchestrator/evaluation/watcher_test.go |
Updated test suite to use watcher.Manager instead of watcher.Registry . |
pkg/node/compute.go
and pkg/node/requester.go
files, which also reflect the shift from using a Registry
to a Manager
for handling watchers.🐇 In the world of watchers, new terms we embrace,
From "Registry" to "Manager," we quicken our pace.
With handlers and options, our watchers now thrive,
In this vibrant new structure, our code comes alive!
So hop along, friends, let’s celebrate this cheer,
For clarity and structure, the future is clear! 🐇✨
This PR introduces several important changes to the watcher package to unblock changes related to NCL protocol:
Introduce two-step watcher creation pattern:
Fix watcher restart behavior after checkpoints:
Rename Registry to Manager:
Additional improvements:
Summary by CodeRabbit
Release Notes
New Features
Manager
type to manage multiple watchers, replacing the previousRegistry
terminology.Documentation
Manager
terminology and improved clarity on functionality.Bug Fixes
Tests
Manager
functionality, ensuring robust coverage of various scenarios.