]> git.llucax.com Git - z.facultad/75.74/practicos.git/blob - practicas/pipi/src/frame.h
Bugfix.
[z.facultad/75.74/practicos.git] / practicas / pipi / src / frame.h
1 #ifndef _FRAME_H_
2 #define _FRAME_H_
3
4 #include <string>
5
6 /// Frame de la capa física (en este caso es un mensaje enviado a una cola)
7 struct Frame
8 {
9
10     // Tipos
11     typedef long mac_type;
12
13     /// Destructor
14     virtual ~Frame() {}
15
16     /// Setea MAC
17     virtual void mac(const mac_type& mac) = 0;
18
19     /// Obtiene MAC
20     virtual mac_type mac() const = 0;
21
22     /// Obtiene la longitud real del frame
23     virtual size_t len() const = 0;
24
25     /// Obtiene el tamaño máximo del frame (MTU)
26     virtual size_t size() const = 0;
27
28     /// Setea datos
29     virtual void data(const std::string& data) = 0;
30
31     /// Obtiene datos
32     virtual std::string data() const = 0;
33
34 };
35
36 #endif // _FRAME_H_
37
38 // vim: set et sw=4 sts=4 :