Opc.Ua.Com.Client.HdaSubscribeAttributeRequest.QueueValue C# (CSharp) Method

QueueValue() private method

Queues the value to the monitored item.
private QueueValue ( ServerSystemContext context, HdaReadRequest request, MonitoredItem monitoredItem ) : void
context Opc.Ua.Server.ServerSystemContext The context.
request HdaReadRequest The request.
monitoredItem Opc.Ua.Server.MonitoredItem The monitored item.
return void
        private void QueueValue(ServerSystemContext context, HdaReadRequest request, MonitoredItem monitoredItem)
        {
            NodeHandle handle = monitoredItem.ManagerHandle as NodeHandle;

            if (handle == null)
            {
                return;
            }

            ReadValueId nodeToRead = monitoredItem.GetReadValueId();
            DataValue value = new DataValue();
            ServiceResult error = null;

            HdaItemState item = handle.Node as HdaItemState;
            HdaAttributeState attribute = handle.Node as HdaAttributeState;

            if (item != null)
            {
                error = request.GetResult(context, item, nodeToRead, value, monitoredItem.DiagnosticsMasks);
            }
            else if (attribute != null)
            {
                error = request.GetResult(context, attribute, nodeToRead, value, monitoredItem.DiagnosticsMasks);
            }

            value.ServerTimestamp = DateTime.UtcNow;

            if (value.StatusCode != StatusCodes.BadNotFound)
            {
                monitoredItem.QueueValue(value, error);
            }
        }
        #endregion