All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alipay.oceanbase.rpc.direct_load.protocol.ObDirectLoadProtocol Maven / Gradle / Ivy

/*-
 * #%L
 * com.oceanbase:obkv-table-client
 * %%
 * Copyright (C) 2021 - 2024 OceanBase
 * %%
 * OBKV Table Client Framework is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *          http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 * #L%
 */

package com.alipay.oceanbase.rpc.direct_load.protocol;

import com.alipay.oceanbase.rpc.direct_load.ObDirectLoadStatement;
import com.alipay.oceanbase.rpc.direct_load.ObDirectLoadTraceId;
import com.alipay.oceanbase.rpc.direct_load.protocol.payload.*;
import com.alipay.oceanbase.rpc.direct_load.exception.ObDirectLoadException;

public interface ObDirectLoadProtocol {

    void init() throws ObDirectLoadException;

    int getProtocolVersion();

    void checkIsSupported(ObDirectLoadStatement statement) throws ObDirectLoadException;

    // rpc
    ObDirectLoadBeginRpc getBeginRpc(ObDirectLoadTraceId traceId);

    ObDirectLoadCommitRpc getCommitRpc(ObDirectLoadTraceId traceId);

    ObDirectLoadAbortRpc getAbortRpc(ObDirectLoadTraceId traceId);

    ObDirectLoadGetStatusRpc getGetStatusRpc(ObDirectLoadTraceId traceId);

    ObDirectLoadInsertRpc getInsertRpc(ObDirectLoadTraceId traceId);

    ObDirectLoadHeartBeatRpc getHeartBeatRpc(ObDirectLoadTraceId traceId);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy