The Cashier class

 
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);
    };        
};


Gunther.Siegel@sophia.inria.fr
Sun Nov 26 12:52:37 MET 1995