class StreamTask extends AbstractInvokable implements AsyncExceptionHandler {

	@Override
	public Future<Void> notifyCheckpointCompleteAsync(long checkpointId) {
		return notifyCheckpointOperation(
			() -> notifyCheckpointComplete(checkpointId),
			String.format("checkpoint %d complete", checkpointId));
	}

	protected  StreamTask(Environment env);
	protected  StreamTask(Environment env, @Nullable TimerService timerService);
	protected  StreamTask(
			Environment environment,
			@Nullable TimerService timerService,
			Thread.UncaughtExceptionHandler uncaughtExceptionHandler);
	protected  StreamTask(
			Environment environment,
			@Nullable TimerService timerService,
			Thread.UncaughtExceptionHandler uncaughtExceptionHandler,
			StreamTaskActionExecutor actionExecutor);
	protected  StreamTask(
			Environment environment,
			@Nullable TimerService timerService,
			Thread.UncaughtExceptionHandler uncaughtExceptionHandler,
			StreamTaskActionExecutor actionExecutor,
			TaskMailbox mailbox);

}