-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
Copy pathpayload.proto
64 lines (57 loc) · 2.21 KB
/
payload.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
* Copyright (C) 2017 Dgraph Labs, Inc. and Contributors
*
* 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.
*/
// Use gen.sh to generate .pb.go files.
syntax = "proto3";
import "graphresponse.proto";
import "schema.proto";
import "task.proto";
package protos;
message Payload {
bytes Data = 1;
}
// BackupPayload is used both as a request and a response.
// When used in request, groups represents the list of groups that need to be backed up.
// When used in response, groups represent the list of groups that were backed up.
message ExportPayload {
uint64 req_id = 1; // Use req_id to handle duplicate requests.
uint32 group_id = 2; // Group id to back up.
enum Status {
NONE = 0;
SUCCESS = 1;
DUPLICATE = 2;
FAILED = 3;
}
Status status = 3;
}
service Worker {
// Connection testing RPC.
rpc Echo (Payload) returns (Payload) {}
// Data serving RPCs.
rpc AssignUids (Num) returns (AssignedIds) {}
rpc Mutate (Mutations) returns (Payload) {}
rpc ServeTask (Query) returns (Result) {}
rpc PredicateAndSchemaData (stream GroupKeys) returns (stream KV) {}
rpc Sort (SortMessage) returns (SortResult) {}
rpc Schema (SchemaRequest) returns (SchemaResult) {}
// RAFT serving RPCs.
rpc RaftMessage (Payload) returns (Payload) {}
// The stream takes the same sort of Payload values that RaftMessage takes.
// Never returns.
rpc RaftMessageStream (stream Payload) returns (Payload) {}
rpc JoinCluster (RaftContext) returns (Payload) {}
rpc UpdateMembership (MembershipUpdate) returns (MembershipUpdate) {}
rpc Export (ExportPayload) returns (ExportPayload) {}
}