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) {
}
}