io.ray.streaming.api.function.Function Maven / Gradle / Ivy
package io.ray.streaming.api.function;
import java.io.Serializable;
/** Interface of streaming functions. */
public interface Function extends Serializable {
/**
* This method will be called periodically by framework, you should return a a serializable object
* which represents function state, framework will help you to serialize this object, save it to
* storage, and load it back when in fail-over through. {@link
* Function#loadCheckpoint(Serializable)}.
*
* @return A serializable object which represents function state.
*/
default Serializable saveCheckpoint() {
return null;
}
/**
* This method will be called by framework when a worker died and been restarted. We will pass the
* last object you returned in {@link Function#saveCheckpoint()} when doing checkpoint, you are
* responsible to load this object back to you function.
*
* @param checkpointObject the last object you returned in {@link Function#saveCheckpoint()}
*/
default void loadCheckpoint(Serializable checkpointObject) {}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy