class Cashier : public Server_Normal<FIFO> {
protected:
Random *service_distribution, *price_ok;
Office *superviser;
public:
void pay(int nb_articles){
for(int i=1;i<=nb_articles;i++)
if((*price_ok)())
wait((*service_distribution)());
else
sync superviser->ask_price();
wait((*service_distribution)());
};
Cashier(Office *o,Random *distribution) : Server_Normal<FIFO>(20) {
service_distribution=distribution;
superviser=o;
price_ok=new Binomial(1,0.9, new MLCG);
};
};