Opc.Ua.Com.Server.ComDaBrowseCache.Browse C# (CSharp) Method

Browse() private method

Sends the browse request to the server.
private Browse ( Session session, BrowseDescriptionCollection nodesToBrowse ) : BrowseResultCollection
session Opc.Ua.Client.Session The session.
nodesToBrowse BrowseDescriptionCollection The nodes to browse.
return BrowseResultCollection
        private BrowseResultCollection Browse(Session session, BrowseDescriptionCollection nodesToBrowse)
        {
            BrowseResultCollection results = null;

            // break the request into smaller blocks.
            if (m_browseBlockSize > 0 && nodesToBrowse.Count > m_browseBlockSize)
            {
                results = new BrowseResultCollection();

                for (int ii = 0; ii < nodesToBrowse.Count; ii += m_browseBlockSize)
                {
                    BrowseDescriptionCollection x = new BrowseDescriptionCollection();

                    for (int jj = ii; jj < ii + m_browseBlockSize && jj < nodesToBrowse.Count; jj++)
                    {
                        x.Add(nodesToBrowse[jj]);
                    }

                    BrowseResultCollection y = BrowseBlock(session, x);
                    results.AddRange(y);
                }

                return results;
            }

            // small enough to do directly.
            return BrowseBlock(session, nodesToBrowse);
        }