#ifndef ETHERNETLINKDELAY_H_
#define ETHERNETLINKDELAY_H_

#include <map>
#include "models/wiredbas/common/LinkDelayModel.h"

namespace cosi {

namespace models {

namespace wiredbas {

class EthernetLinkDelay : public LinkDelayModel {
	double mSpeed;
	enum Field {PREAMBLE,SOF,DEST,SRC,TYPE,PAYLOAD,CRC,IFD};
	std::map< int , int > mFieldLength;
	int mOverhead ;
public:
	EthernetLinkDelay(double Speed);
	virtual ~EthernetLinkDelay();
	RealDelay Get(int MsgLength, WiringPath pPath);
	double GetValue(int MsgLength, WiringPath pPath);
};

}

}

}

#endif /*ETHERNETLINKDELAY_H_*/
