]> git.llucax.com Git - z.facultad/75.74/practicos.git/blob - practicas/pipi/src/media.h
Base del TP de IP de distribuidos.
[z.facultad/75.74/practicos.git] / practicas / pipi / src / media.h
1 #ifndef _MEDIA_H_
2 #define _MEDIA_H_
3
4 #include "frame.h"
5 #include <string>
6 #include <stdexcept>
7 #include <unistd.h>
8 #include <fcntl.h>
9 #include <sys/types.h>
10 #include <sys/ipc.h>
11 #include <sys/msg.h>
12
13 /// Medio (o capa física + enlace), 
14 struct Media
15 {
16
17     /// Identificador de la cola a usar
18     int que_id;
19
20     /// Constructor
21     Media(key_t key) throw (std::runtime_error);
22
23     /// Envía un frame
24     void transmit(const Frame& frame);
25
26     /// Recibe un frame
27     void receive(Frame& frame);
28
29     // Nada de andar copiando cables...
30     private:
31     Media(const Media&);
32     Media& operator=(const Media&);
33
34 };
35
36 #endif // _MEDIA_H_
37
38 // vim: set et sw=4 sts=4 :