forked from padrezulmiro/sd-projeto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sdmessage.proto
58 lines (50 loc) · 1.1 KB
/
sdmessage.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
/* Ficheiro sdmessage.proto
*/
syntax = "proto3";
message entry_t /* Formato da mensagem EntryT */
{
string key = 1;
bytes value = 2;
}
message statistics_t {
sint32 n_clientes = 1;
sint32 n_operacoes = 2;
sint32 total_time = 3;
}
message message_t /* Formato da mensagem MessageT */
{
enum Opcode { /* Opcodes da mensagem */
OP_BAD = 0;
OP_PUT = 10;
OP_GET = 20;
OP_DEL = 30;
OP_SIZE = 40;
OP_GETKEYS = 50;
OP_GETTABLE = 60;
OP_STATS = 70;
OP_ERROR = 99;
}
enum C_type { /* Códigos para conteúdos da mensagem */
CT_BAD = 0;
CT_ENTRY = 10;
CT_KEY = 20;
CT_VALUE = 30;
CT_RESULT = 40;
CT_KEYS = 50;
CT_TABLE = 60;
CT_NONE = 70;
CT_STATS = 80;
}
/* Campos disponíveis na mensagem genérica (cada mensagem concreta, de
* pedido ou de resposta, usa apenas os campos que necessitar)
*/
Opcode opcode = 1;
C_type c_type = 2;
entry_t entry = 3;
string key = 4;
bytes value = 5;
sint32 result = 6;
repeated string keys = 7;
repeated entry_t entries = 8;
statistics_t stats = 9;
};