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 Summary
Modifier and TypeMethodDescriptiondefault voidconfigure(com.inductiveautomation.ignition.gateway.storeforward.resource.StoreAndForwardEngineSettings config) Configures the store and forward engine using the provided configuration.Returns information about the store and forward engine.Returns the store and forward engine manifest.default voidHandles a sink lifecycle event.booleanChecks if the store and forward engine is currently accepting data.<T extends PersistentData>
voidregisterDataSink(DataSink<T> sink) Registers a data sink with the store and forward engine.voidshutdown()Shuts down the store and forward engine.voidstartup()Starts up the store and forward engine.<T extends PersistentData>
voidstoreData(PersistentDataBundle<T> dataBatch) Stores a data batch with the associated storage information to the storage forward engine.<T extends PersistentData>
voidunregisterDataSink(PersistentFlavor<T> flavor) Unregisters any associated data sinks with the corresponding flavor.<T extends PersistentData>
voidunregisterDataSink(DataSink<T> sink) Unregisters a specific data sink with the store and forward engine.default <T extends PersistentData>
QualityCodevalidateFlavor(PersistentFlavor<T> flavor) Validates a givenPersistentFlavor.Methods inherited from interface com.inductiveautomation.ignition.gateway.storeforward.quarantine.QuarantineInterface
deleteQuarantined, getQuarantinedCount, getQuarantinedDataInfo, retrieveQuarantined, retryQuarantined, storeQuarantined
-
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
Registers a data sink with the store and forward engine.- Parameters:
sink- The data sink to register.
-
unregisterDataSink
Unregisters a specific data sink with the store and forward engine.- Parameters:
sink- The data sink to unregister.
-
unregisterDataSink
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
Validates a givenPersistentFlavor. The default implementation always gives an uncertain quality code.- Parameters:
flavor- The flavor to be validated- Returns:
- A
QualityCodedenoting the evaluated quality of the flavor. By default, returnsQualityCode.Uncertain.
-
handleSinkLifecycleEvent
Handles a sink lifecycle event. Implementations can override this to perform targeted operations (e.g., renaming 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. If an engine requires rename support, it must override this method.
- Parameters:
event- the lifecycle event to handle- Since:
- 8.3.4
-