Skip to content

Allow extensibility of BCP-008 status monitors - #511

Merged
lo-simon merged 9 commits into
sony:masterfrom
jonathan-r-thorpe:refactor-status-monitors
Aug 5, 2026
Merged

Allow extensibility of BCP-008 status monitors#511
lo-simon merged 9 commits into
sony:masterfrom
jonathan-r-thorpe:refactor-status-monitors

Conversation

@jonathan-r-thorpe

Copy link
Copy Markdown
Contributor
  • Refactor BCP-008 implementation to generalize the control protocol's handling of monitor domains.
  • Allows extensibility of existing status monitor definitions
  • Allows users to define their own status monitors
  • Aligns the code more closely with the BCP-008 specification
  • No change to external facing API

…ructuring the initialization for better clarity and maintainability.
@jonathan-r-thorpe
jonathan-r-thorpe marked this pull request as draft July 27, 2026 19:54
@jonathan-r-thorpe
jonathan-r-thorpe marked this pull request as ready for review July 28, 2026 09:18

@lo-simon lo-simon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor suggestions.

Comment thread Development/nmos/test/control_protocol_utils_test.cpp

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think all the direct calls to the set_monitor_status functions should be hidden from the user. The user should only be using those delay functions set_monitor_status_with_delay. Maybe we should rename all those delay functions too.

bool erase(const utility::string_t& datatype_name);

// insert monitor domains for the given class id, false if a profile already exists
bool insert(const nc_class_id& class_id, const std::vector<monitor_domain>& monitor_domains);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall the insert function be renamed to insert_monitor_domains to match the erase_monitor_domains function?

@lo-simon lo-simon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor suggestion.

bool is_deprecated = false);
}

typedef std::function<std::vector<experimental::monitor_domain>(const nc_class_id& class_id)> get_monitor_domains_handler;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be better to move the get_monitor_domains_handler into control_protocol_handlers.
See move-get_monitor_domains_handler.patch

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to control_protocol_handlers

@lo-simon
lo-simon merged commit d047c9e into sony:master Aug 5, 2026
10 checks passed
@lo-simon
lo-simon deleted the refactor-status-monitors branch August 5, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants