#ifndef Q_ROTING_POLICY_H
#define Q_ROTING_POLICY_H

class Policy {
public:
	Policy( Network * network_par ) { network = network_par; }
	virtual ~Policy() {}

	virtual void Init() {}
	virtual void Reset() {}
	virtual void NetworkChange() {}
	
	virtual bool OneStep( Router & router , Packet ** packet ) const = 0;

protected:
	Network * network;
};

#endif Q_ROTING_POLICY_H
