/// <summary> /// Reads the specified group items using MaxAge. If the information in the cache is within the MaxAge, then the data /// will be obtained from the cache, otherwise the server must access the device for the requested information. /// //In addition, the ability to Read from a group based on a "MaxAge" is provided. /// //from cache or device as determined by "staleness" of cache data /// </summary> /// <param name="items">The group items.</param> /// <param name="maxAge">The MaxAge for all items.</param> /// <returns> /// The values of the group items. /// </returns> public OpcDaItemValue[] ReadMaxAge(IList <OpcDaItem> items, TimeSpan maxAge) { CheckItems(items); CheckSupported(OpcDaGroupFeatures.ReadMaxAge); TimeSpan[] maxAges = ArrayHelpers.CreateMaxAges(items.Count, maxAge); return(ReadMaxAge(items, maxAges)); }
/// <summary> /// Asynchronously reads the specified group items using MaxAge. If the information in the cache is within the MaxAge, /// then the data will be obtained from the cache, otherwise the server must access the device for the requested /// information. /// </summary> /// <param name="items">The group items.</param> /// <param name="maxAge">The MaxAge for all items.</param> /// <param name="token">The task cancellation token.</param> /// <returns> /// The values of the group items. /// </returns> public Task <OpcDaItemValue[]> ReadMaxAgeAsync(IList <OpcDaItem> items, TimeSpan maxAge, CancellationToken token) { TimeSpan[] maxAges = ArrayHelpers.CreateMaxAges(items.Count, maxAge); return(ReadMaxAgeAsync(items, maxAges, token)); }