Change SubscribeCOV Cancellations to always reply with Result+ (#526)

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
This commit is contained in:
Steve Karg
2023-10-31 10:56:18 -05:00
committed by GitHub
parent 4991bb6156
commit c1464a1660
+12
View File
@@ -743,10 +743,22 @@ static bool cov_subscribe(BACNET_ADDRESS *src,
status = Device_Value_List_Supported(object_type);
if (status) {
status = cov_list_subscribe(src, cov_data, error_class, error_code);
} else if (cov_data->cancellationRequest) {
/* From BACnet Standard 135-2010-13.14.2
...Cancellations that are issued for which no matching COV
context can be found shall succeed as if a context had
existed, returning 'Result(+)'. */
status = true;
} else {
*error_class = ERROR_CLASS_OBJECT;
*error_code = ERROR_CODE_OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED;
}
} else if (cov_data->cancellationRequest) {
/* From BACnet Standard 135-2010-13.14.2
...Cancellations that are issued for which no matching COV
context can be found shall succeed as if a context had
existed, returning 'Result(+)'. */
status = true;
} else {
*error_class = ERROR_CLASS_OBJECT;
*error_code = ERROR_CODE_UNKNOWN_OBJECT;