import java.io.File;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import pl.shockah.shocky.Data;
import pl.shockah.shocky.Module;
public class ModuleAutoGC extends Module {
private ScheduledExecutorService timer;
private ScheduledFuture<?> futureGC = null;
public String name() {return "autogc";}
public void onEnable(File dir) {
Data.config.setNotExists("autogc-delay",300);
int delay = Data.config.getInt("autogc-delay");
timer = Executors.newScheduledThreadPool(1);
futureGC = timer.scheduleAtFixedRate(new Runnable(){
public void run() {
System.gc();
}
},delay,delay,TimeUnit.SECONDS);
}
public void onDisable() {
futureGC.cancel(false);
}
}