Interface StoreAndForwardEngine

All Superinterfaces:
QuarantineInterface<PersistentDataBundle<PersistentData>>

public interface StoreAndForwardEngine extends QuarantineInterface<PersistentDataBundle<PersistentData>>
The StoreAndForwardEngine interface provides a common API for store and forward engines.
  • Method Details

    • startup

      void startup()
      Starts up the store and forward engine.
    • shutdown

      void shutdown()
      Shuts down the store and forward engine.
    • configure

      default void configure(com.inductiveautomation.ignition.gateway.storeforward.resource.StoreAndForwardEngineSettings config)
      Configures the store and forward engine using the provided configuration.
      Parameters:
      config - The store and forward configuration to use.
    • registerDataSink

      <T extends PersistentData> void registerDataSink(DataSink<T> sink)
      Registers a data sink with the store and forward engine.
      Parameters:
      sink - The data sink to register.
    • unregisterDataSink

      <T extends PersistentData> void unregisterDataSink(DataSink<T> sink)
      Unregisters a specific data sink with the store and forward engine.
      Parameters:
      sink - The data sink to unregister.
    • unregisterDataSink

      <T extends PersistentData> void unregisterDataSink(PersistentFlavor<T> flavor)
      Unregisters any associated data sinks with the corresponding flavor.
      Parameters:
      flavor - The PersistentFlavor of the data sinks to unregister.
    • storeData

      <T extends PersistentData> void storeData(PersistentDataBundle<T> dataBatch) throws DataStorageException
      Stores a data batch with the associated storage information to the storage forward engine.
      Parameters:
      dataBatch - the data batch with the associated storage information
      Throws:
      DataStorageException - thrown if an error occurs while storing data or if the storage information is invalid
    • getEngineManifest

      EngineManifest getEngineManifest()
      Returns the store and forward engine manifest.
      Returns:
      An EngineManifest mainly indicating what flavor of data is actively being stored.
    • getEngineInformation

      EngineInformation getEngineInformation()
      Returns information about the store and forward engine.
      Returns:
      An EngineInformation containing information about the engine.
    • isAccepting

      boolean isAccepting()
      Checks if the store and forward engine is currently accepting data.
      Returns:
      True if the engine is accepting data, false otherwise.
    • validateFlavor

      default <T extends PersistentData> QualityCode validateFlavor(PersistentFlavor<T> flavor)
      Validates a given PersistentFlavor. The default implementation always gives an uncertain quality code.
      Parameters:
      flavor - The flavor to be validated
      Returns:
      A QualityCode denoting the evaluated quality of the flavor. By default, returns QualityCode.Uncertain.
    • handleSinkLifecycleEvent

      default void handleSinkLifecycleEvent(SinkLifecycleEvent event)
      Handles a sink lifecycle event. Implementations can override this to perform targeted operations (e.g., renaming or deleting a single pipeline) without restarting the entire engine.

      The default implementation is a no-op. Third-party engine implementations that do not override this method will silently ignore lifecycle events such as sink renames or deletions. If an engine requires rename or deletion support, it must override this method.

      Parameters:
      event - the lifecycle event to handle
      Since:
      8.3.4