Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 0 additions & 107 deletions Development/nmos/control_protocol_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,6 @@ namespace nmos
// Internal monitor helpers (not part of the public header; declared here for out-of-line definitions below)
bool set_monitor_status_internal(resources& resources, nc_oid oid, int status, const utility::string_t& status_message, const experimental::monitor_domain& domain, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate);
bool update_monitor_overall_status(resources& resources, nc_oid oid, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate);
bool set_receiver_monitor_link_status_internal(resources& resources, nc_oid oid, nmos::nc_link_status::status link_status, const utility::string_t& link_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_receiver_monitor_connection_status_internal(resources& resources, nc_oid oid, nmos::nc_connection_status::status connection_status, const utility::string_t& connection_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_receiver_monitor_external_synchronization_status_internal(resources& resources, nc_oid oid, nmos::nc_synchronization_status::status external_synchronization_status, const utility::string_t& external_synchronization_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_receiver_monitor_stream_status_internal(resources& resources, nc_oid oid, nmos::nc_stream_status::status stream_status, const utility::string_t& stream_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_sender_monitor_link_status_internal(resources& resources, nc_oid oid, nmos::nc_link_status::status link_status, const utility::string_t& link_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_sender_monitor_transmission_status_internal(resources& resources, nc_oid oid, nmos::nc_transmission_status::status transmission_status, const utility::string_t& transmission_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_sender_monitor_external_synchronization_status_internal(resources& resources, nc_oid oid, nmos::nc_synchronization_status::status external_synchronization_status, const utility::string_t& external_synchronization_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_sender_monitor_essence_status_internal(resources& resources, nc_oid oid, nmos::nc_essence_status::status essence_status, const utility::string_t& essence_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);

bool is_control_class(const nc_class_id& control_class_id, const nc_class_id& class_id_)
{
Expand Down Expand Up @@ -1207,19 +1199,6 @@ namespace nmos
gate);
}

// Set link status and link status message
bool details::set_receiver_monitor_link_status_internal(resources& resources, nc_oid oid, nmos::nc_link_status::status link_status, const utility::string_t& link_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, link_status, link_status_message,
nc_receiver_monitor_link_status_property_id,
nc_receiver_monitor_link_status_message_property_id,
nc_receiver_monitor_link_status_transition_counter_property_id,
nmos::fields::nc::link_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}

bool set_receiver_monitor_link_status(resources& resources, nc_oid oid, nmos::nc_link_status::status link_status, const utility::string_t& link_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
const auto now_time = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
Expand All @@ -1238,18 +1217,6 @@ namespace nmos
gate);
}

bool details::set_receiver_monitor_connection_status_internal(resources& resources, nc_oid oid, nmos::nc_connection_status::status connection_status, const utility::string_t& connection_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, connection_status, connection_status_message,
nc_receiver_monitor_connection_status_property_id,
nc_receiver_monitor_connection_status_message_property_id,
nc_receiver_monitor_connection_status_transition_counter_property_id,
nmos::fields::nc::connection_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}

bool set_receiver_monitor_connection_status(resources& resources, nc_oid oid, nmos::nc_connection_status::status connection_status, const utility::string_t& connection_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
const auto now_time = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
Expand All @@ -1268,19 +1235,6 @@ namespace nmos
gate);
}

// Set external synchronization status and external synchronization status message
bool details::set_receiver_monitor_external_synchronization_status_internal(resources& resources, nc_oid oid, nmos::nc_synchronization_status::status external_synchronization_status, const utility::string_t& external_synchronization_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, external_synchronization_status, external_synchronization_status_message,
nc_receiver_monitor_external_synchronization_status_property_id,
nc_receiver_monitor_external_synchronization_status_message_property_id,
nc_receiver_monitor_external_synchronization_status_transition_counter_property_id,
nmos::fields::nc::external_synchronization_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}

bool set_receiver_monitor_external_synchronization_status(resources& resources, nc_oid oid, nmos::nc_synchronization_status::status external_synchronization_status, const utility::string_t& external_synchronization_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
const auto now_time = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
Expand All @@ -1299,19 +1253,6 @@ namespace nmos
gate);
}

// Set stream status and stream status message
bool details::set_receiver_monitor_stream_status_internal(resources& resources, nc_oid oid, nmos::nc_stream_status::status stream_status, const utility::string_t& stream_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, stream_status, stream_status_message,
nc_receiver_monitor_stream_status_property_id,
nc_receiver_monitor_stream_status_message_property_id,
nc_receiver_monitor_stream_status_transition_counter_property_id,
nmos::fields::nc::stream_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}

bool set_receiver_monitor_stream_status(resources& resources, nc_oid oid, nmos::nc_stream_status::status stream_status, const utility::string_t& stream_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
const auto now_time = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
Expand Down Expand Up @@ -1427,18 +1368,6 @@ namespace nmos
return false;
}

// Set link status and link status message
bool details::set_sender_monitor_link_status_internal(resources& resources, nc_oid oid, nmos::nc_link_status::status link_status, const utility::string_t& link_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, link_status, link_status_message,
nc_sender_monitor_link_status_property_id,
nc_sender_monitor_link_status_message_property_id,
nc_sender_monitor_link_status_transition_counter_property_id,
nmos::fields::nc::link_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}
// Set link status and status message and apply status reporting delay
bool set_sender_monitor_link_status(resources& resources, nc_oid oid, nmos::nc_link_status::status link_status, const utility::string_t& link_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
Expand All @@ -1458,18 +1387,6 @@ namespace nmos
gate);
}

// Set transmission status and transmission status message
bool details::set_sender_monitor_transmission_status_internal(resources& resources, nc_oid oid, nmos::nc_transmission_status::status transmission_status, const utility::string_t& transmission_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, transmission_status, transmission_status_message,
nc_sender_monitor_transmission_status_property_id,
nc_sender_monitor_transmission_status_message_property_id,
nc_sender_monitor_transmission_status_transition_counter_property_id,
nmos::fields::nc::connection_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}
// Set transmission status and status message and apply status reporting delay
bool set_sender_monitor_transmission_status(resources& resources, nc_oid oid, nmos::nc_transmission_status::status transmission_status, const utility::string_t& transmission_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
Expand All @@ -1489,18 +1406,6 @@ namespace nmos
gate);
}

// Set external synchronization status and external synchronization status message
bool details::set_sender_monitor_external_synchronization_status_internal(resources& resources, nc_oid oid, nmos::nc_synchronization_status::status external_synchronization_status, const utility::string_t& external_synchronization_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, external_synchronization_status, external_synchronization_status_message,
nc_sender_monitor_external_synchronization_status_property_id,
nc_sender_monitor_external_synchronization_status_message_property_id,
nc_sender_monitor_external_synchronization_status_transition_counter_property_id,
nmos::fields::nc::external_synchronization_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}
// Set external synchronization status and status message and apply status reporting delay
bool set_sender_monitor_external_synchronization_status(resources& resources, nc_oid oid, nmos::nc_synchronization_status::status external_synchronization_status, const utility::string_t& external_synchronization_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
Expand All @@ -1520,18 +1425,6 @@ namespace nmos
gate);
}

// Set essence status and stream status message
bool details::set_sender_monitor_essence_status_internal(resources& resources, nc_oid oid, nmos::nc_essence_status::status essence_status, const utility::string_t& essence_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate)
{
return nc::details::set_monitor_status_internal(resources, oid, essence_status, essence_status_message,
nc_sender_monitor_essence_status_property_id,
nc_sender_monitor_essence_status_message_property_id,
nc_sender_monitor_essence_status_transition_counter_property_id,
nmos::fields::nc::stream_status_pending_received_time,
get_control_protocol_class_descriptor,
{},
gate);
}
// Set essence status and status message and apply status reporting delay
bool set_sender_monitor_essence_status(resources& resources, nc_oid oid, nmos::nc_essence_status::status essence_status, const utility::string_t& essence_status_message, monitor_status_pending_handler monitor_status_pending, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate)
{
Expand Down
7 changes: 4 additions & 3 deletions Development/nmos/test/bcp_008_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace nmos
namespace details
{
// Internal helper under test; kept out of the public header
bool set_receiver_monitor_stream_status_internal(resources& resources, nc_oid oid, nmos::nc_stream_status::status stream_status, const utility::string_t& stream_status_message, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, slog::base_gate& gate);
bool set_monitor_status_internal(resources& resources, nc_oid oid, int status, const utility::string_t& status_message, const experimental::monitor_domain& domain, get_control_protocol_class_descriptor_handler get_control_protocol_class_descriptor, get_monitor_domains_handler get_monitor_domains, slog::base_gate& gate);
}
}
}
Expand Down Expand Up @@ -540,10 +540,11 @@ BST_TEST_CASE(testStatusTransitionWithinReportDelay)
// unhealthy (3) -> { healthy (1) -> unhealthy (3) : within the 3 second status reporting delay }

// Step 1: Set initial status to unhealthy (3)
BST_REQUIRE(nmos::nc::details::set_receiver_monitor_stream_status_internal(control_protocol_resources, monitor_oid,
BST_REQUIRE(nmos::nc::details::set_monitor_status_internal(control_protocol_resources, monitor_oid,
nmos::nc_stream_status::status::unhealthy,
U("Initial unhealthy status"),
get_control_protocol_class_descriptor, gate));
nmos::experimental::make_receiver_monitor_domains().at(1),
get_control_protocol_class_descriptor, {}, gate));

// Verify initial status is unhealthy
auto current_status = nmos::nc::get_property(control_protocol_resources, monitor_oid,
Expand Down
Loading
Loading