use of org.eclipse.milo.opcua.stack.core.types.structured.BrowseNextRequest in project milo by eclipse.
the class DataTypeDictionaryReader method browseNextAsync.
private CompletableFuture<List<ReferenceDescription>> browseNextAsync(ByteString continuationPoint, List<ReferenceDescription> references) {
RequestHeader requestHeader = stackClient.newRequestHeader(session.getAuthenticationToken(), stackClient.getConfig().getRequestTimeout());
BrowseNextRequest request = new BrowseNextRequest(requestHeader, false, new ByteString[] { continuationPoint });
return stackClient.sendRequest(request).thenApply(BrowseNextResponse.class::cast).thenCompose(response -> {
BrowseResult result = l(response.getResults()).get(0);
return maybeBrowseNext(result, references);
});
}
use of org.eclipse.milo.opcua.stack.core.types.structured.BrowseNextRequest in project milo by eclipse.
the class BrowseHelper method browseNext.
public void browseNext(ServiceRequest service) {
OpcUaServer server = service.attr(ServiceAttributes.SERVER_KEY).get();
BrowseNextRequest request = (BrowseNextRequest) service.getRequest();
List<ByteString> continuationPoints = l(request.getContinuationPoints());
if (continuationPoints.size() > server.getConfig().getLimits().getMaxBrowseContinuationPoints().intValue()) {
service.setServiceFault(StatusCodes.Bad_TooManyOperations);
} else {
server.getExecutorService().execute(new BrowseNext(server, service));
}
}
Aggregations