]> git.llucax.com Git - z.facultad/75.74/practicos.git/blob - practicas/practica3/parte1/protocol.h
Ya estamos fragmentando! (falta testing intensivo pero parece andar)
[z.facultad/75.74/practicos.git] / practicas / practica3 / parte1 / protocol.h
1 #ifndef _PROTOCOL_H_
2 #define _PROTOCOL_H_
3
4 struct Protocol
5 {
6     enum Type { PUT, FIND, DEL, QUIT };
7     enum Result { OK, NOT_FOUND, EXISTS };
8
9     unsigned char type: 2;       // 2 bits para tipo
10     unsigned char end: 1;        // 1 bit para marca de FIN
11     unsigned char client_id: 5;  // 5 bits para id de cliente
12     unsigned char len;           // 255 máximo
13
14     Protocol() {}
15
16     Protocol(unsigned type, unsigned end, unsigned client_id, unsigned len):
17         type(type), end(end), client_id(client_id), len(len) {}
18
19 };
20
21 #endif // _PROTOCOL_H_
22
23 // vim: set et sw=4 sts=4 :