#ifndef MATE_APPLETS_MULTILOAD_AUTOSCALER_H
#define MATE_APPLETS_MULTILOAD_AUTOSCALER_H

#include <glib.h>
#include <time.h>

typedef struct _AutoScaler AutoScaler;

struct _AutoScaler
{
	/* const */ unsigned update_interval;
	/* const */ unsigned floor;
	unsigned max;
	unsigned count;
	time_t last_update;
	float sum;
	float last_average;
};


G_GNUC_INTERNAL void autoscaler_init(AutoScaler *that, unsigned interval, unsigned floor);

G_GNUC_INTERNAL unsigned autoscaler_get_max(AutoScaler *that, unsigned current);


#endif /* MATE_APPLETS_MULTILOAD_AUTOSCALER_H */