Interface DataAtTime
- All Known Implementing Classes:
PlainStoragePlugin
public interface DataAtTime
-
Method Summary
Modifier and TypeMethodDescriptiondataAtTime(BasicContext context, String pvName, Instant atTime, Instant startAtTime, Period searchPeriod, BiDirectionalIterable.IterationDirection iterationDirection) Generic method to iterate over the data for specified PV.
-
Method Details
-
dataAtTime
Event dataAtTime(BasicContext context, String pvName, Instant atTime, Instant startAtTime, Period searchPeriod, BiDirectionalIterable.IterationDirection iterationDirection) throws IOException Generic method to iterate over the data for specified PV. We provide a time to start the iteration at ( inclusive ) and a direction and a Predicate. The plugin then iterates ( forwards or backwards ) and calls the Predicate for each sample. The iteration stops when the Predicate returns false or when we run out of samples. Iteration also stops when we get an exception. So this mode of traversal is vulnerable to corruption in the data. We may relax this constraint later by providing a optional bool to ignore exceptions.- Parameters:
context-pvName- The PV nameatTime- Time looking for.startAtTime- Time to start looking from.searchPeriod- - An estimate on the amount of time we want to iterate. This is used to determine the appropriate chunks containing data at a very high level and thus to limit the search. The predicate itself is the one that controls when the iteration terminates. So, for example, you could specify a searchPeriod of 1 year but stop the iteration after 1 minute- Throws:
IOException-
-