#ifndef ns_drop_expired_h
#define ns_drop_expired_h
 
#include <string.h>
#include "queue.h"
#include "config.h"
#include <tclcl.h>
#include "drop-tail.h"
#include "packet.h"
 
#define ATP_TIMESCALE 10
 
/*
 * A bounded, drop-tail queue
 */
 
class DropExpired : public DropTail {
  public:
        DropExpired() {
		drop_adu_=0;
                ttl_fix_=0;
                DropTail::DropTail();
		expires_=0;
		no_resume=0;
        }
	~DropExpired() {
                delete q_;  
	}
protected:
        void DropExpired::recv(class Packet *, class Handler *);
        int command(int argc, const char*const* argv);
        void enque(Packet*);
        Packet* deque();
        double ttl_fix_;
	int drop_adu_;
	int expires_;
        void check_expired(); 
};
 
#endif     

