Opc.Ua.Server.MasterNodeManager.Startup C# (CSharp) Method

Startup() public method

Creates the node managers and start them
public Startup ( ) : void
return void
        public virtual void Startup()
        {
            try
            {         
                Utils.Trace(
                    Utils.TraceMasks.StartStop, 
                    "MasterNodeManager.Startup - NodeManagers={0}",
                    m_nodeManagers.Count);

                UpdateLock.Enter();

                // create the address spaces.
                Dictionary<NodeId,IList<IReference>> externalReferences = new Dictionary<NodeId,IList<IReference>>();

                for (int ii = 0; ii < m_nodeManagers.Count; ii++)
                {
                    INodeManager nodeManager = m_nodeManagers[ii];

                    try
                    {
                        nodeManager.CreateAddressSpace(externalReferences);
                    }
                    catch (Exception e)
                    {
                        Utils.Trace(e, "Unexpected error creating address space for NodeManager #{0}.", ii);
                    }
                }
                
                // update external references.                
                for (int ii = 0; ii < m_nodeManagers.Count; ii++)
                {
                    INodeManager nodeManager = m_nodeManagers[ii];

                    try
                    {
                        nodeManager.AddReferences(externalReferences);
                    }
                    catch (Exception e)
                    {
                        Utils.Trace(e, "Unexpected error addding references for NodeManager #{0}.", ii);
                    }
                }
            }   
            finally
            {
                UpdateLock.Exit();
            }
        }