/** * Copyright (c) 2015 The original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.reveno.atp.core.api; /** * Contains basic info about events execution result, which were issued in some transaction. * We have to keep track of whether all events in transaction were correctly * handled, and if so, commit info about it. * * On restore we don't re-issue events, which were already committed. * * @author Artem Dmitriev <art.dm.ser@gmail.com> * */ public interface EventsCommitInfo { /** * Transaction ID, in which events were executed. * * @return transactionId */ long transactionId(); /** * The time of events execution. * * @return time */ long time(); /** * Some flag of events commit for internal handling or restore process. * * @return flag */ long flag(); interface Builder { EventsCommitInfo create(long txId, long time, long flag); } }