6 Media::Media(key_t key) throw (std::runtime_error)
8 que_id = msgget(key, 0666); // Debe estar previamente creada
10 throw std::runtime_error("No se pudo crear la cola");
13 void Media::transmit(const Frame& frame)
16 std::cout << "Media::transmit(msgtype/mac = " << *(((int*)&frame)+1)
17 << ", size = " << frame.size() << ", data = " << frame.data() << ")\n";
19 // HACK ASQUEROSO para pasarle por encima a la vtable... :-O~
20 if (msgsnd(que_id, ((int*)&frame)+1, frame.size(), 0) == -1)
21 throw std::runtime_error("Error al poner en la cola");
24 void Media::receive(Frame& frame)
26 // HACK ASQUEROSO para pasarle por encima a la vtable... :-O~
27 if (msgrcv(que_id, ((int*)&frame)+1, frame.size(), frame.mac(), 0) == -1)
28 throw std::runtime_error("Error al sacar de la cola");
30 std::cout << "Media::receive(msgtype/mac = " << *(((int*)&frame)+1)
31 << ", size = " << frame.size() << ", data = " << frame.data() << ")\n";
35 // vim: set et sw=4 sts=4 :