-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpetition.proto
78 lines (69 loc) · 2.16 KB
/
petition.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
syntax = "proto3";
package chat;
// REGISTRO DE USUARIOS
message UserRegistration {
optional string username = 1;
optional string ip = 2;
}
// INFORMACION DEL USUARIO
message UserInfo {
optional string username = 1;
optional string status = 2;
optional string ip = 3;
}
// SOLICITAR INFORMACION
// user: (username || everyone)
message UserRequest {
optional string user = 1;
}
// ENVIADO POR EL SERVIDOR
message ConnectedUsersResponse {
repeated UserInfo connectedUsers = 1;
}
// CAMBIAR DE ESTADO
// POSIBLES STATUS: activo, inactivo, ocupado
message ChangeStatus {
optional string username = 1;
optional string status = 2;
}
// ENVIO DE MENSAJES (DIRECTOS || BROADCAST)
// recipient: (username || everyone)
// sender: username del remitente
message MessageCommunication {
optional string message = 1;
optional string recipient = 2;
optional string sender = 3;
}
// option 1: Registro de Usuarios
// option 2: Usuarios Conectados
// option 3: Cambio de Estado
// option 4: Mensajes
// option 5: Informacion de un usuario en particular
// PARA TODOS LOS USUARIOS CONECTADOS MANDAR UN UserRequest con everyone
// PARA INFO DE UN USUARIO MANDAR UN UserRequest con el username
message ClientPetition {
optional int32 option = 1;
optional UserRegistration registration = 2;
optional UserRequest users = 3;
optional ChangeStatus change = 4;
optional MessageCommunication messageCommunication = 5;
}
// option 1: Registro de Usuarios
// option 2: Usuarios Conectados
// option 3: Cambio de Estado
// option 4: Mensajes
// option 5: Informacion de un usuario en particular
// codigo 200: Exito
// codigo 500: Fallido
// EN RESPUESTA A UNA SOLICITUD DEL CLIENTE POR EJEMPLO: REGISTRO DE USUARIOS
// UNICAMENTE RETORNA OPCION, CODIGO Y MENSAJE DEL SERVIDOR
// PARA SABER SI LA SOLICITUD FUE EXITOSA O FALLO EL SERVIDOR
message ServerResponse {
optional int32 option = 1;
optional int32 code = 2;
optional string serverMessage = 3;
optional ConnectedUsersResponse connectedUsers = 4;
optional MessageCommunication messageCommunication = 5;
optional UserInfo userInfoResponse = 6;
optional ChangeStatus change = 7;
}