I use an AdressSpace with many nodes (typically tens of thousands). When I start the server, I should make Pre-treatment (server side, not with an OPC client). Thus, I should browse the adressspace and sometimes the browse(...) method return more than 1000 results and I should use the continuationPoint but I don't know how to use it.
This is the code I try to make:
Code: Select all
UaReferenceDescriptions references;
ContinuationPointWrapper continuationPoint;
bool isContinuationpointSet = true;
while(isContinuationpointSet){
pNodeManagerRoot->browse(tempStartingNode, OpcUa_True, OpcUaId_HasTypeDefinition, 0, continuationPoint, references);
//references.length() is 0 here in the second iteration...
//what should I do to browse through the next 1000 nodes?
isContinuationpointSet = continuationPoint.iscontinuationPointset();
for (unsigned int i = 0; i < references.length(); i++) {
//My treatment here
}
}
I've noticed that the UaSession client class use the browseNext(...) method to browse through the next 1000 nodes but I can't find a similar method in the Nodemanager class.
Or maybe could you explain instead how we can set a reference list size higher than 1000.
Thanks in advance for your help
Sébastien