Class DeltaArchiveChannel

java.lang.Object
org.epics.archiverappliance.engine.model.ArchiveChannel
org.epics.archiverappliance.engine.model.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 Details

    • DeltaArchiveChannel

      public DeltaArchiveChannel(String name, Writer writer, int buffer_capacity, Instant 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 -  
      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 Details

    • getMechanism

      public String getMechanism()
      Specified by:
      getMechanism in class ArchiveChannel
      Returns:
      Short description of sample mechanism
    • 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.