proto/ratis-grpc.proto (49 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ syntax = "proto3"; option go_package = "github.com/apache/ozone-go/api/proto/ratis"; package ratis.grpc; import "raft.proto"; service RaftClientProtocolService { // A client-to-server RPC to set new raft configuration rpc setConfiguration (ratis.common.SetConfigurationRequestProto) returns (ratis.common.RaftClientReplyProto) { } // A client-to-server stream RPC to ordered async requests rpc ordered (stream ratis.common.RaftClientRequestProto) returns (stream ratis.common.RaftClientReplyProto) { } // A client-to-server stream RPC for unordered async requests rpc unordered (stream ratis.common.RaftClientRequestProto) returns (stream ratis.common.RaftClientReplyProto) { } } service RaftServerProtocolService { rpc requestVote (ratis.common.RequestVoteRequestProto) returns (ratis.common.RequestVoteReplyProto) { } rpc appendEntries (stream ratis.common.AppendEntriesRequestProto) returns (stream ratis.common.AppendEntriesReplyProto) { } rpc installSnapshot (stream ratis.common.InstallSnapshotRequestProto) returns (ratis.common.InstallSnapshotReplyProto) { } } service AdminProtocolService { // A client-to-server RPC to add a new group rpc groupManagement (ratis.common.GroupManagementRequestProto) returns (ratis.common.RaftClientReplyProto) { } rpc groupList (ratis.common.GroupListRequestProto) returns (ratis.common.GroupListReplyProto) { } rpc groupInfo (ratis.common.GroupInfoRequestProto) returns (ratis.common.GroupInfoReplyProto) { } }