How to use the node-opcua-address-space.SessionContext.defaultContext function in node-opcua-address-space

To help you get started, we’ve selected a few node-opcua-address-space examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github node-opcua / node-opcua / packages / node-opcua-server / source / server_subscription.ts View on Github external
//   interval of the Subscription is requested.
      // - Any negative number is interpreted as -1.
      samplingInterval = this.publishingInterval;

    } else if (samplingInterval === 0) {

      // OPCUA 1.0.3 Part 4 - 5.12.1.2
      // The value 0 indicates that the Server should use the fastest practical rate.

      // The fastest supported sampling interval may be equal to 0, which indicates
      // that the data item is exception-based rather than being sampled at some period.
      // An exception-based model means that the underlying system does not require
      // sampling and reports data changes.

      const dataValueSamplingInterval = node.readAttribute(
        SessionContext.defaultContext, AttributeIds.MinimumSamplingInterval);

      // TODO if attributeId === AttributeIds.Value : sampling interval required here
      if (dataValueSamplingInterval.statusCode === StatusCodes.Good) {
        // node provides a Minimum sampling interval ...
        samplingInterval = dataValueSamplingInterval.value.value;
        assert(samplingInterval >= 0 && samplingInterval <= MonitoredItem.maximumSamplingInterval);

        // note : at this stage, a samplingInterval===0 means that the data item is really exception-based

      }

    } else if (samplingInterval < MonitoredItem.minimumSamplingInterval) {

      samplingInterval = MonitoredItem.minimumSamplingInterval;

    } else if (samplingInterval > MonitoredItem.maximumSamplingInterval) {
github node-opcua / node-opcua / packages / node-opcua-server / src / server_subscription.js View on Github external
if (samplingInterval < 0) {
        // - The value -1 indicates that the default sampling interval defined by the publishing
        //   interval of the Subscription is requested.
        // - Any negative number is interpreted as -1.
        samplingInterval = subscription.publishingInterval;

    } else if (samplingInterval === 0) {

        // OPCUA 1.0.3 Part 4 - 5.12.1.2
        // The value 0 indicates that the Server should use the fastest practical rate.

        // The fastest supported sampling interval may be equal to 0, which indicates
        // that the data item is exception-based rather than being sampled at some period.
        // An exception-based model means that the underlying system does not require sampling and reports data changes.

        const dataValueSamplingInterval = node.readAttribute(SessionContext.defaultContext, AttributeIds.MinimumSamplingInterval);

        // TODO if attributeId === AttributeIds.Value : sampling interval required here
        if (dataValueSamplingInterval.statusCode === StatusCodes.Good) {
            // node provides a Minimum sampling interval ...
            samplingInterval = dataValueSamplingInterval.value.value;
            assert(samplingInterval >= 0 && samplingInterval <= MonitoredItem.maximumSamplingInterval);

            // note : at this stage, a samplingInterval===0 means that the data item is really exception-based

        }

    } else if (samplingInterval < MonitoredItem.minimumSamplingInterval) {

        samplingInterval = MonitoredItem.minimumSamplingInterval;

    } else if (samplingInterval > MonitoredItem.maximumSamplingInterval) {