#ifndef ARCNETBUSRULE_H_
#define ARCNETBUSRULE_H_

#include "rules/wiredbas/common/BusRule.h"
#include "networks/wiredbas/WiredBasImplementation.h"

namespace cosi {

namespace rules {

namespace wiredbas {

class ArcnetBusRule : public BusRule {
	double mBusSpeed;

	enum tProtocolPhases {IIT,FBE,ACK,SPAC,LPAC};

	map< int , int > mMsgLength;

public:

	ArcnetBusRule(double pBusSpeed);

	virtual ~ArcnetBusRule();

	bool Satisfies(cosi::commstruct::wiredbas::Implementation pC);

	bool Satisfies(cosi::commstruct::wiredbas::Implementation* pC);

	double GetBandwidthValue(cosi::commstruct::wiredbas::Implementation* pC) ;

};

}

}

}

#endif /*ARCNETBUSRULE_H_*/
