+++ /dev/null
-#ifndef _ETHERNETFRAME_H_
-#define _ETHERNETFRAME_H_
-
-#include "frame.h"
-#include <string>
-#include <stdexcept>
-
-/// Frame de la capa física (en este caso es un mensaje enviado a una cola)
-template < size_t Size = 1500 >
-struct EthernetFrame: Frame
-{
-
- // Atributos
- mac_type _mac;
- size_t _len;
- char _frame[Size];
-
- /// Constructor
- EthernetFrame(const mac_type& mac):
- _mac(mac)
- {}
-
- /// Constructor
- EthernetFrame(const mac_type& mac, const std::string& d)
- throw (std::logic_error): _mac(mac)
- { data(d); }
-
- /// Setea MAC
- void mac(const mac_type& mac)
- { _mac = mac; }
-
- /// Obtiene MAC
- mac_type mac() const
- { return _mac; }
-
- /// Obtiene longitud
- size_t len() const
- { return _len; }
-
- /// Obtiene tamaño
- size_t size() const
- { return Size; }
-
- /// Setea datos
- void data(const std::string& d) throw (std::logic_error)
- {
- if (d.size() > Size)
- throw std::logic_error("dato más grande que el frame");
- _len = d.size();
- memcpy(_frame, d.c_str(), _len);
- }
-
- /// Obtiene datos
- std::string data() const
- { return std::string(_frame, _len); }
-
-};
-
-#endif // _ETHERNETFRAME_H_
-
-// vim: set et sw=4 sts=4 :
+++ /dev/null
-#ifndef _FRAME_H_
-#define _FRAME_H_
-
-#include <string>
-
-/// Frame de la capa física (en este caso es un mensaje enviado a una cola)
-struct Frame
-{
-
- // Tipos
- typedef long mac_type;
-
- /// Destructor
- virtual ~Frame() {}
-
- /// Setea MAC
- virtual void mac(const mac_type& mac) = 0;
-
- /// Obtiene MAC
- virtual mac_type mac() const = 0;
-
- /// Obtiene la longitud real del frame
- virtual size_t len() const = 0;
-
- /// Obtiene el tamaño máximo del frame (MTU)
- virtual size_t size() const = 0;
-
- /// Setea datos
- virtual void data(const std::string& data) = 0;
-
- /// Obtiene datos
- virtual std::string data() const = 0;
-
-};
-
-#endif // _FRAME_H_
-
-// vim: set et sw=4 sts=4 :