Opc.Ua.ServerTest.SubscribeTest.Subscribe C# (CSharp) Method

Subscribe() private method

Adds the items to subscription. Verifies the initial update.
private Subscribe ( Subscription subscription, MonitoredItemCreateRequestCollection itemsToCreate ) : bool
subscription Subscription
itemsToCreate MonitoredItemCreateRequestCollection
return bool
        private bool Subscribe(Subscription subscription, MonitoredItemCreateRequestCollection itemsToCreate)
        {
            bool success = true;

            try
            {
                List<MonitoredItem> monitoredItems = new List<MonitoredItem>();

                if (!CreateMonitoredItems(subscription, itemsToCreate, monitoredItems))
                {
                    success = false;
                }

                if (success)
                {
                    if (!WaitForUpdates(subscription, monitoredItems, false))
                    {
                        success = false;
                    }
                }

                if (success)
                {
                    if (!ToogleDisabledState(subscription, monitoredItems))
                    {
                        success = false;
                    }
                }
                
                if (success)
                {
                    if (!WaitForUpdates(subscription, monitoredItems, true))
                    {
                        success = false;
                    }
                }

                if (!DeleteMonitoredItems(subscription, monitoredItems))
                {
                    success = false;
                }

                lock (subscription)
                {
                    subscription.NotificationMessages.Clear();
                    subscription.ReceiveTimes.Clear();
                }

                return success;
            }
            catch (Exception e)
            {
                Log(e, "Error during subscribe test.");
                return false;
            }
        }