package jelectrum;
import java.io.File;
public class FreeSpaceWatcher extends Thread
{
File location;
Jelectrum jelly;
long min_space;
public FreeSpaceWatcher(File location, Jelectrum jelly, long min_space)
{
setName("FreeSpaceWatcher@" + location);
setDaemon(true);
this.location = location;
this.jelly = jelly;
this.min_space = min_space;
}
public void run()
{
boolean limited=false;
while(true)
{
try
{
long space = location.getUsableSpace();
if (space < min_space)
{
if (!limited)
{
jelly.getEventLog().alarm("FreeSpaceWacher: low on space in " + location);
jelly.setSpaceLimited(true);
limited=true;
}
}
else
{
if (limited)
{
jelly.setSpaceLimited(false);
jelly.getEventLog().alarm("FreeSpaceWacher: ok space in " + location);
limited=false;
}
}
sleep(20000);
}
catch(Throwable t)
{
jelly.getEventLog().alarm("FreeSpaceWacher: " + t);
t.printStackTrace();
}
}
}
}