]> git.llucax.com Git - z.facultad/75.74/practicos.git/blob - practicas/pipi/src/devque.h
Se generaliza el devque para seguir (ab)usándolo como cola y poder pedir de
[z.facultad/75.74/practicos.git] / practicas / pipi / src / devque.h
1 #ifndef _DEVQUE_H_
2 #define _DEVQUE_H_
3
4 #include "dev.h"
5
6 #define DEVQUE_DEFAULT_KEY 0x1abcdef1
7
8 /// Dispositivo de red (capa de enlace) implementado con una cola
9 struct DevQue: Dev
10 {
11
12     /// Identificador de la cola a usar
13     int que_id;
14
15     /// Constructor
16     DevQue(mac_type mac, key_t key = DEVQUE_DEFAULT_KEY,
17             size_t mtu = DEV_MAX_MTU)
18         throw (std::runtime_error, std::logic_error);
19
20     /// Envía un frame
21     void transmit(const std::string& data, const mac_type& mac)
22         throw (std::runtime_error, std::logic_error);
23
24     /// Recibe un frame
25     std::string receive()
26         throw (std::runtime_error);
27     std::string receive(const mac_type& mac)
28         throw (std::runtime_error);
29
30 };
31
32 #endif // _DEVQUE_H_
33
34 // vim: set et sw=4 sts=4 :