From a8f4dfb8cc081c4fb4507b0461ddefed34a66fd7 Mon Sep 17 00:00:00 2001 From: Ilja Antipov <157796749+antipovi-draeger@users.noreply.github.com> Date: Tue, 21 Jan 2025 09:37:46 +0100 Subject: [PATCH] add new manipulation InsertContainmentTreeEntryWithStaticHandle (#101) Introduce a new manipulation to insert CONTAINMENT TREE ENTRY for the static handles # Checklist The following aspects have been respected by the author of this pull request, confirmed by both pull request assignee **and** reviewer: * Changelog update (necessity checked and entry added or not added respectively) * [x] Pull Request Assignee * [ ] Reviewer * README update (necessity checked and entry added or not added respectively) * [x] Pull Request Assignee * [ ] Reviewer --------- Co-authored-by: Lukas Deichmann <8513777+ldeichmann@users.noreply.github.com> --- CHANGELOG.md | 1 + src/t2iapi/device/service.proto | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f9a687..2cca12d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - manipulation SetMdsUiLanguage for devices - manipulation GetMdsUiSupportedLanguages for devices - manipulation InsertContainmentTreeEntryForSequenceId for devices +- manipulation InsertContainmentTreeEntryWithStaticHandle for devices - manipulation to shut down and restart for devices - manipulation GetEnsembleIds for contexts - manipulation IndicateMembershipInEnsembleByEnsembleId for contexts diff --git a/src/t2iapi/device/service.proto b/src/t2iapi/device/service.proto index 205319b..7e734ee 100644 --- a/src/t2iapi/device/service.proto +++ b/src/t2iapi/device/service.proto @@ -223,6 +223,35 @@ service DeviceService { rpc InsertContainmentTreeEntryForSequenceId (InsertContainmentTreeEntryForSequenceIdRequest) returns (InsertContainmentTreeEntryForSequenceIdResponse); + /* + This manipulation is only applicable for devices which use static handles for descriptors across all sequences of + MDIB's. If the device under test does not support static handles for descriptors, it shall return the GRPC Status Code + UNIMPLEMENTED. If the request contains a handle that is unknown for the device, it shall return GRPC Status Code + INVALID_ARGUMENT. + + Make available the BICEPS CONTAINMENT TREE ENTRY (as defined in IEEE Std 11073-10700-2022) that is represented by the + provided handle in the device's MDIB. If the BICEPS CONTAINMENT TREE ENTRY is absent in the current MDIB, it shall be + inserted. If the BICEPS CONTAINMENT TREE ENTRY is already present in the current MDIB no further action is required. + + Example 1: inserting the MDS into the current MDIB: + - devices is able to present a MDS with the handle mds1 which is currently not present in devices MDIB + - InsertContainmentTreeEntryWithStaticHandle with handle mds1 is executed + - MDS with the handle mds1 is inserted into the device's current MDIB + - no further action from the device is required + + Example 2: Metric is already present in the current MDIB: + - Metric with the handle "metric_1" is already present in the devices current MDIB + - InsertContainmentTreeEntryWithStaticHandle with handle "metric_1" is executed + - no further action from the device is required + + Example 3: the requested descriptor is not known for the device: + - descriptor with the handle "some_channel" is not present in the devices current MDIB and no such descriptor can exist in the devices MDIB + - InsertContainmentTreeEntryWithStaticHandle with handle "some_channel" is executed + - GRPC Status Code INVALID_ARGUMENT is returned since the requested entity is unknown for the device + */ + rpc InsertContainmentTreeEntryWithStaticHandle (BasicHandleRequest) + returns (BasicResponse); + /* Shut down the device gracefully and then restart it. When restarting, the device should have a new pm:MdibVersionGroup/@SequenceId.