Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RDK-45037 : Secure Storage Thunder Plugin #317

Merged
merged 6 commits into from
Jan 22, 2024

Conversation

npoltorapavlo
Copy link
Contributor

Reason for change: Enhancements to PersistentStore plugin to support Scope, Time To Live.
Use of the RPC COM and JSON RPC interfaces.
Test Procedure: None
Risks: None
Signed-off-by: Nikita Poltorapavlo npoltorapavlo@productengine.com

Reason for change: Enhancements to PersistentStore plugin
to support Scope, Time To Live.
Use of the RPC COM and JSON RPC interfaces.
Test Procedure: None
Risks: None
Signed-off-by: Nikita Poltorapavlo <npoltorapavlo@productengine.com>
@npoltorapavlo npoltorapavlo marked this pull request as ready for review January 11, 2024 12:01
anand-ky
anand-ky previously approved these changes Jan 12, 2024
Copy link
Collaborator

@anand-ky anand-ky left a comment

Choose a reason for hiding this comment

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

@MFransen69 - Pls review. We are extending IStore interface used by PersistentStore plugin. Details on requirements are provided under RDK-45037.

@MFransen69 MFransen69 requested a review from pwielders January 12, 2024 15:34
@pwielders
Copy link
Collaborator

I am making assumptions as I do not have any use-cases but there are definitely some conflicting methods in the interface.
The Key returns its scope (IStore2::GetValue(const string& ns, const string& key, const ScopeType scope, string& value /* @out /, uint32_t& ttl / @out */) this allows the namespace (lets say /MyNameSpace) to hold different types of scoped keys, however there is also a method on IStoreInspector called GetKeys(const string& ns, const ScopeType scope, RPC::IStringIterator*& keys /* @out */) where a namsespace seems to have a scope that might be different from the keys in there ?
That seems to be contradicting, I guess. Is there some document describing the usecase of this functionality?

@@ -0,0 +1,480 @@
{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Although the json files are of course still supported was it perhaps considered to add the json interface to the C++ header file using the meta tags? (e.g. see https://rdkcentral.github.io/Thunder/plugin/interfaces/interfaces/ "Enable JSON-RPC Generation" and here for tags that enable you to influence the generated json rpc interface to make it backward compatible if necessary: https://rdkcentral.github.io/Thunder/plugin/interfaces/tags/)

Again the json file is fine but perhaps it is goof to be aware it is also possible to define the com rpc and json rpc interface in one file (and therefore guarantee they are consistent and kept in sync). If there were features missing that made it impossible to use the above please let us know, we are always happy to learn about it and see if we can extend the support for this.

Copy link
Collaborator

Choose a reason for hiding this comment

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

@npoltorapavlo - Pls check and respond here. If it's lot of work we can merge these changes now and make subsequent changes to move to using the meta tags.

@npoltorapavlo
Copy link
Contributor Author

@pwielders I'm not sure I understand the contradiction, can you explain please?

anand-ky
anand-ky previously approved these changes Jan 19, 2024
Copy link
Collaborator

@anand-ky anand-ky left a comment

Choose a reason for hiding this comment

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

Changes to keep the enum common and move ScopeType as the first parameter are addressed. We will keep PersistentStore.json for now and add tags to IStore2.h later to generate json from the header.

MFransen69
MFransen69 previously approved these changes Jan 19, 2024
Copy link
Collaborator

@MFransen69 MFransen69 left a comment

Choose a reason for hiding this comment

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

We discussed the semantics of the interface and a few alternatives but seen the promised delivery date and already internally agreed interface it was decided to go ahead and use an IStore2 next to the IStore.

@npoltorapavlo npoltorapavlo dismissed stale reviews from MFransen69 and anand-ky via 1724931 January 20, 2024 16:27
@MFransen69 MFransen69 merged commit 099aaa5 into rdkcentral:master Jan 22, 2024
25 checks passed
@npoltorapavlo npoltorapavlo deleted the RDK-45037-master branch January 23, 2024 11:55
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.

5 participants