Class DeltaArchiveChannel


  • public class DeltaArchiveChannel
    extends ArchiveChannel
    An ArchiveChannel that stores each incoming value that differs from the previous sample by some 'delta'.
    Author:
    Kay Kasemir
    • Constructor Detail

      • DeltaArchiveChannel

        public DeltaArchiveChannel​(String name,
                                   Writer writer,
                                   Enablement enablement,
                                   int buffer_capacity,
                                   Timestamp last_timeestamp,
                                   double period_estimate,
                                   double delta,
                                   ConfigService configservice,
                                   ArchDBRTypes archdbrtype,
                                   String controlPVname,
                                   int commandThreadID,
                                   boolean usePVAccess)
                            throws Exception
        Parameters:
        name - Name of the channel (PV)
        writer -  
        enablement - How channel affects its groups
        buffer_capacity - Size of sample buffer
        last_timeestamp -  
        period_estimate - Estimated change period [seconds]
        delta - Value changes ≥ this value will be stored
        configservice - ConfigService
        archdbrtype - ArchDBRTypeS
        controlPVname -  
        commandThreadID -  
        usePVAccess -  
        Throws:
        Exception - On error in PV setup
    • Method Detail

      • handleNewValue

        protected boolean handleNewValue​(DBRTimeEvent timeevent)
        Attempt to add each new value to the buffer.
        Overrides:
        handleNewValue in class ArchiveChannel
        Parameters:
        timeevent - DBRTimeEvent
        Returns:
        true if the value was already written because it's the first value after startup or error, so there's no need to write that sample again.