void DevQue::transmit(const std::string& data, const mac_type& mac)
throw (std::runtime_error, std::logic_error)
{
void DevQue::transmit(const std::string& data, const mac_type& mac)
throw (std::runtime_error, std::logic_error)
{
if (data.size() > mtu)
throw std::logic_error("Tamaño de datos mayor al MTU");
Frame* f = (Frame*) malloc(sizeof(Frame) + mtu);
if (data.size() > mtu)
throw std::logic_error("Tamaño de datos mayor al MTU");
Frame* f = (Frame*) malloc(sizeof(Frame) + mtu);
int res = msgsnd(que_id, f, mtu + sizeof(size_t), 0);
int res = msgsnd(que_id, f, mtu + sizeof(size_t), 0);
Frame* f = (Frame*) malloc(sizeof(Frame) + mtu);
if (!f)
throw std::runtime_error("No se puede reservar memoria");
Frame* f = (Frame*) malloc(sizeof(Frame) + mtu);
if (!f)
throw std::runtime_error("No se puede reservar memoria");