Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Optimize GetNodeMetadata - #1392

#1392
Merged
AlinMoldovean merged 9 commits into
OPCFoundation:masterOPCFoundation/UA-.NETStandard:masterfrom
mrsuciu:mastermrsuciu/UA-.NETStandard:masterCopy head branch name to clipboard
May 5, 2021
Merged

Optimize GetNodeMetadata #1392
AlinMoldovean merged 9 commits into
OPCFoundation:masterOPCFoundation/UA-.NETStandard:masterfrom
mrsuciu:mastermrsuciu/UA-.NETStandard:masterCopy head branch name to clipboard

Conversation

@mrsuciu

@mrsuciu mrsuciu commented May 4, 2021

Copy link
Copy Markdown
Contributor
  • Reduce number of callback hits on reading attributes
  • Reduce number of reads to underlying data sources for unused attributes
  • Use temporary cache to avoid multiple attribute read calls
  • Optimize GetNodeMetadata calls for Read service calls
  • Minor API change: INodeManager.GetNodeMetadata signature update

mrsuciu added 6 commits April 28, 2021 10:30
…olePermission attributes when specified; All service calls use only these attributes on validating AccessRestrictions and RolePermissions. Read and Browse services also cache the values for avoiding unecessary calls.
…OnlyValidationAttributes into permitionsOnly
@AlinMoldovean
AlinMoldovean requested a review from mregen May 4, 2021 11:35
@mregen
mregen requested a review from AlinMoldovean May 4, 2021 13:11

@mregen mregen left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

beside this question on the signature, it looks ok

Comment thread Libraries/Opc.Ua.Server/Diagnostics/CustomNodeManager.cs
BrowseResultMask resultMask,
Dictionary<NodeId, List<object>> uniqueNodesServiceAttributes = null,
bool permissionsOnly = false)
{

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

is there really no issue changing the signature, e.g. with compiled code? In the past I see there was a INodeManager2 added with additional functions. same could be done here with a GetNodeMetaData2 with more parameters in a INodeManager3?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

for compat it might also be etter to add the 5 parm function separately and not use the defaults. Maybe add it in INodeManager2 only?

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.

INodeManager2 now contains the 5 param function GetPermissionsMetadata which handles the optimizations and GetNodeMetadata is left as is.

mrsuciu added 2 commits May 5, 2021 14:17
…ptimized retrieval if necessary and reverted changes to INodeManager.GetNodeMetadata implementation; Fixed missing summary and typeo's
@AlinMoldovean
AlinMoldovean merged commit 8b9bbe2 into OPCFoundation:master May 5, 2021
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.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.